Quasi-cyclic low-density parity-check code decoding method, system, device and medium
By splitting the parity check matrix into unit and displacement matrices and performing parallel operations on subcodewords and submatrices, the problem of low decoding efficiency of quasi-cyclic low-density parity check codes is solved, achieving faster decoding speed and higher success rate.
Patent Information
- Application Number
- CN202210311307.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-28
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2042-03-28
AI Technical Summary
Existing quasi-cyclic low-density parity-check code decoding methods have low decoding efficiency, especially when using fixed or dynamic flip thresholds, resulting in slow convergence and poor decoding success rate.
The parity check matrix is adjusted to a target operation matrix composed of an identity matrix and a displacement matrix. The target subcodeword and the target operation submatrix are operated on in parallel to quickly calculate the symptom value to determine the decoding result.
The computational efficiency of symptom values has been improved, thereby increasing the overall computational efficiency of the decoding method and shortening the decoding time.
Smart Images

Figure CN114745005B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of decoding, in particular to a quasi-cyclic low-density parity-check code decoding method, system, device and medium. BACKGROUND
[0002] The known bit flipping (BF) procedure includes several steps: Step 1 is to calculate the syndrome value of the received word. Step 2 is to calculate the flipping function value of each bit. Step 3 is to determine the flipping threshold. Step 4 is to compare the flipping function value with the flipping threshold for each bit to determine whether to flip. Step 5 is to recalculate the syndrome value of the flipped word. Step 6 is to judge whether the syndrome value is a vector of all zeros. If it is a vector of all zeros, the finally flipped word is the correct word, otherwise go to the next step. Step 7 is to judge whether the maximum recursion number is reached. If the maximum recursion number is reached, leave this mechanism, otherwise return to step 2.
[0003] However, in the conventional bit decoding method, the maximum flipping function value is used as the flipping threshold. In this way, all syndrome values and all flipping function values must be calculated first to determine the flipping threshold and the flipping bit. This results in the need to repeatedly calculate the syndrome value when executing this mechanism, and the speed of converging to a reasonable code word is extremely slow.
[0004] In addition, in the decoding method, a fixed flipping threshold value can be given by experimental results, or the flipping threshold can be dynamically given by complex calculation (Adaptive MWBF (AMWBF)). However, the fixed flipping threshold often leads to slower convergence speed and poorer decoding success rate. The way of dynamically calculating the flipping threshold reduces the decoding speed.
[0005] In summary, how to improve the decoding efficiency of the quasi-cyclic low-density parity-check code decoding method is a problem that needs to be solved by the technical personnel in the field at present. SUMMARY
[0006] The purpose of the present application is to provide a quasi-cyclic low-density parity-check code decoding method which can solve the technical problem of how to improve the decoding efficiency of the quasi-cyclic low-density parity-check code decoding method to some extent. The present application also provides a quasi-cyclic low-density parity-check code decoding system, device and computer readable storage medium.
[0007] In order to achieve the above purpose, the present application provides the following technical solution:
[0008] A quasi-cyclic low-density parity-check code decoding method, comprising:
[0009] obtaining a predetermined parity check matrix;
[0010] adjusting the parity check matrix into a target operation matrix composed of unit matrices and displacement matrices, the unit matrices and the displacement matrices both having a dimension of p×p;
[0011] obtaining a target codeword to be decoded corresponding to a current decoding recursion number;
[0012] splitting the target codeword into target sub-codewords each having a length of p;
[0013] in the target operation matrix, determining a target operation sub-matrix corresponding to each target sub-codeword;
[0014] performing parallel operation on the target sub-codewords and the target operation sub-matrices to obtain a syndrome value of the target codeword;
[0015] determining a current decoding result of the current decoding recursion number based on the syndrome value, to determine a target decoding result based on the current decoding result.
[0016] Preferably, the parallel operation on the target sub-codewords and the target operation sub-matrices to obtain the syndrome value of the target codeword comprises:
[0017] performing parallel operation on the target sub-codewords and the target operation sub-matrices to obtain corresponding first operation results;
[0018] determining the syndrome value of the target codeword based on all the first operation results.
[0019] Preferably, the parallel operation on the target sub-codewords and the target operation sub-matrices to obtain corresponding first operation results comprises:
[0020] performing parallel operation on the target sub-codewords and the target operation sub-matrices based on a first operation formula to obtain corresponding first operation results;
[0021] the first operation formula comprises:
[0022] synd_k=(synd_i+synd_(i+1)+...+synd_(i+d-1))mod 2;
[0023]
[0024] synd_k represents the kth first operation result; n represents the number of the target subcodeword; d represents the number of parallel operation; synd1_i represents the operation result of the ith target subcodeword and the corresponding target submatrix; h 0,i to h (m-1),i represents the ith target subcodeword corresponding to the target operation submatrix; represents the transpose of the ith target subcodeword; represents the upward rounding; m represents the number of the target submatrix corresponding to a single target subcodeword.
[0025] Preferably, the determination of the syndrome value of the target codeword based on all the first operation results comprises:
[0026] determination of the syndrome value of the target codeword based on all the first operation results by a second operation formula;
[0027] The second operation formula comprises:
[0028]
[0029] wherein, represents the syndrome value.
[0030] Preferably, the determination of the current decoding result of the current decoding recursion number based on the syndrome value comprises:
[0031] determination of a flip vector corresponding to the target codeword, the flip vector being used to represent whether to flip the corresponding bit of the target codeword;
[0032] splitting the flip vector into flip sub-vectors with the same length p;
[0033] parallel operation of the flip sub-vectors and the corresponding target operation submatrix to obtain the syndrome value update result of the target codeword;
[0034] determination of an update syndrome value based on the syndrome value and the syndrome value update result;
[0035] determination of the current decoding result of the current decoding recursion number based on the update syndrome value.
[0036] Preferably, the parallel operation of the flip sub-vectors and the corresponding target operation submatrix to obtain the syndrome value update result of the target codeword comprises:
[0037] parallel operation of the flip sub-vectors and the corresponding target operation submatrix based on a third operation formula to obtain the syndrome value update result of the target codeword;
[0038] The third operation formula includes:
[0039]
[0040] synd_flip_k = (synd1_flip_i + synd1_flip_(i+1) +... + synd1_flip_(i+d-1)) mod 2;
[0041]
[0042] wherein, represents the syndrome value update result; synd1_flip_i represents an operation result of an i-th flipper vector and a corresponding target submatrix; h 0,i to h (m-1),i represents the target operation submatrix corresponding to the i-th flipper vector; represents a transpose of the i-th flipper vector.
[0043] Preferably, the determining of the updated syndrome value based on the syndrome value and the syndrome value update result includes:
[0044] The fourth operation formula is used to determine the updated syndrome value based on the syndrome value and the syndrome value update result.
[0045] The fourth operation formula includes:
[0046]
[0047] wherein, represents the updated syndrome value.
[0048] A quasi-cyclic low-density parity-check code decoding system includes:
[0049] A first acquisition module is configured to acquire a predetermined parity-check matrix.
[0050] A first transformation module is configured to adjust the parity-check matrix into a target operation matrix composed of unit matrices and displacement matrices, wherein the unit matrices and the displacement matrices have the same dimension.
[0051] A second acquisition module is configured to acquire a target codeword to be decoded corresponding to a current decoding recursion number.
[0052] A first splitting module is configured to split the target codeword into target sub-codewords each having a length of p.
[0053] A first determination module is configured to determine, in the target operation matrix, target operation sub-matrices corresponding to the target sub-codewords.
[0054] The first operation module is configured to perform parallel operation on the target sub-code word and the target operation sub-matrix to obtain a syndrome value of the target code word.
[0055] The second determination module is configured to determine a current decoding result of the current decoding recursion number based on the syndrome value, and determine a target decoding result based on the current decoding result.
[0056] A quasi-cyclic low-density parity-check code decoding device comprises:
[0057] A memory is configured to store a computer program.
[0058] A processor is configured to implement the steps of the quasi-cyclic low-density parity-check code decoding method according to any one of the above embodiments when the computer program is executed.
[0059] A computer readable storage medium stores a computer program, and the computer program is configured to implement the steps of the quasi-cyclic low-density parity-check code decoding method according to any one of the above embodiments when executed by a processor.
[0060] The quasi-cyclic low-density parity-check code decoding method provided by the present application comprises the following steps: obtaining a predetermined parity-check matrix; adjusting the parity-check matrix into a target operation matrix composed of a unit matrix and a displacement matrix, wherein the dimensions of the unit matrix and the displacement matrix are both p×p; obtaining a target code word to be decoded corresponding to a current decoding recursion number; splitting the target code word into target sub-code words each having a length of p; determining a target operation sub-matrix corresponding to each target sub-code word in the target operation matrix; performing parallel operation on the target sub-code words and the target operation sub-matrix to obtain a syndrome value of the target code word; determining a current decoding result of the current decoding recursion number based on the syndrome value, and determining a target decoding result based on the current decoding result. In the present application, the parity-check matrix and the target code word are split, and the corresponding target operation sub-matrix and target sub-code word are operated in parallel, which can improve the operation efficiency of the syndrome value and further improve the operation efficiency of the entire decoding method. The quasi-cyclic low-density parity-check code decoding system, device and computer readable storage medium provided by the present application also solve the corresponding technical problems. BRIEF DESCRIPTION OF DRAWINGS
[0061] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed in the embodiments or prior art description will be briefly introduced below. Obviously, the drawings in the following description are only embodiments of the present application, and those skilled in the art can obtain other drawings according to the provided drawings without any creative effort.
[0062] Figure 1A flow chart of a quasi-cyclic low density parity check code decoding method provided by an embodiment of the present application;
[0063] Figure 2 Another flow chart of a quasi-cyclic low density parity check code decoding method provided by an embodiment of the present application;
[0064] Figure 3 A structural schematic diagram of a quasi-cyclic low density parity check code decoding system provided by an embodiment of the present application;
[0065] Figure 4 A structural schematic diagram of a quasi-cyclic low density parity check code decoding device provided by an embodiment of the present application;
[0066] Figure 5 Another structural schematic diagram of a quasi-cyclic low density parity check code decoding device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0067] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.
[0068] In order to facilitate the understanding of the present application, the relevant information in the fast decoding method of quasi-cyclic low density parity check code is described first. (N, K) quasi-cyclic low density parity check code is a linear code, N is the length of the code word, and K is the length of the transmission information. An LDPC code is defined by a parity check matrix H. The dimension of H is MxN, which is composed of a number of zero matrices (Zero Matrix, O p ) and a number of displacement matrices of identity matrices (Identity Matrix) , where s is the number of displacements, and O p The dimension of pxp. H can be expressed as follows:
[0069]
[0070] where h ij is O p or
[0071] The syndrome is obtained by the formula R Ta transpose matrix of a code word R to be decoded, and has a dimension of Mx1.
[0072] Please refer to Figure 1 , Figure 1 a flow chart of a decoding method of a quasi-cyclic low-density parity-check code provided by the embodiment of the application.
[0073] The decoding method of the quasi-cyclic low-density parity-check code provided by the embodiment of the application can comprise the following steps:
[0074] Step S101: obtaining a predetermined parity-check matrix.
[0075] In actual application, the parity-check matrix applied in the decoding process of the quasi-cyclic low-density parity-check code can be obtained first, and the specific value and determination method of the parity-check matrix can be determined according to actual needs, which are not limited herein.
[0076] Step S102: adjusting the parity-check matrix into a target operation matrix composed of an identity matrix and a shift matrix, and the identity matrix and the shift matrix both have a dimension of pxp.
[0077] In actual application, in the decoding process of the quasi-cyclic low-density parity-check code, the syndrome value of a code word needs to be calculated, and the syndrome value is obtained by operating a specific matrix value in the parity-check matrix with a corresponding code word. Therefore, the parity-check matrix can be adjusted into a target operation matrix composed of an identity matrix and a shift matrix, and the identity matrix and the shift matrix both have a dimension of pxp, so as to calculate the syndrome value based on the target operation matrix subsequently.
[0078] Step S103: obtaining a target code word to be decoded corresponding to a current decoding recursion number.
[0079] In actual application, after the parity-check matrix is adjusted into a target operation matrix composed of an identity matrix and a shift matrix, a target code word to be decoded corresponding to a current decoding recursion number can be obtained. The obtaining method of the target code word can be determined according to actual needs, for example, when the current decoding recursion number is 1, that is, when the decoding is just started, the code word that has been obtained can be taken as the target code word, and when the current decoding recursion number is not 1, the decoding result of the last time can be taken as the target code word, which is not limited herein.
[0080] Step S104: splitting the target code word into target sub-code words with a length of p.
[0081] In actual application, after obtaining the target codeword to be decoded corresponding to the current decoding recursion number, the target codeword can be split into target sub-codewords each having a length of p, so as to subsequently calculate the corresponding syndrome value based on the target sub-codewords.
[0082] Step S105: In the target operation matrix, determine the target operation sub-matrix corresponding to each target sub-codeword.
[0083] Step S106: Perform operation on the target sub-codewords and the target operation sub-matrix in parallel to obtain the syndrome value of the target codeword.
[0084] In actual application, after splitting the target codeword into target sub-codewords each having a length of p, the target operation sub-matrix corresponding to each target sub-codeword can be determined in the target operation matrix, and operation is performed on the target sub-codewords and the target operation sub-matrix in parallel to quickly obtain the syndrome value of the target codeword.
[0085] In a specific application scenario, in the process of performing operation on the target sub-codewords and the target operation sub-matrix in parallel to obtain the syndrome value of the target codeword, the target sub-codewords and the target operation sub-matrix can be operated in parallel to obtain corresponding first operation results; and the syndrome value of the target codeword is determined based on all the first operation results.
[0086] In a specific application scenario, in the process of performing operation on the target sub-codewords and the target operation sub-matrix in parallel to obtain corresponding first operation results, the target sub-codewords and the target operation sub-matrix can be operated in parallel based on a first operation formula to obtain corresponding first operation results.
[0087] The first operation formula includes:
[0088] synd_k=(synd_i+synd_(i+1)+...+synd_(i+d-1))mod 2;
[0089]
[0090] Wherein, synd_k represents the kth first operation result; n represents the number of target sub-codewords; d represents the number of parallel operations; synd1_i represents the operation result of the ith target sub-codeword and the corresponding target sub-matrix; h 0,i h (m-1),i represents the target operation sub-matrix corresponding to the ith target sub-codeword; represents the transpose of the ith target sub-codeword; represents the upward rounding; m represents the number of target sub-matrices corresponding to a single target sub-codeword.
[0091] Correspondingly, in the process of determining the syndrome value of the target codeword based on all the first operation results, the syndrome value of the target codeword can be determined based on all the first operation results through the second operation formula;
[0092] The second operation formula comprises:
[0093]
[0094] wherein, represents the syndrome value.
[0095] It should be noted that the derivation process of the first operation formula and the second operation formula is as follows:
[0096] Suppose that the received codeword (Received Word) R has a length N = p x n, which can be divided into n segments according to the matrix dimension p formed by the parity check matrix as the basic unit, in other words, for i = 0 ~ (n-1), with a length of p. Similarly, the flipped vector (Flipped Vector) is also divided into p units, that is, is divided into p units, that is, M = m * p. Considering that the received word enters the decoder through the bus, the width is often 32 or 16 bytes or a multiple thereof. Therefore, the operation of calculating the syndrome value is more efficient if it is calculated in segments according to the bus width or the dimension p of the matrix.
[0097] The detailed calculation method of the syndrome value is as follows:
[0098]
[0099] are binary vectors with a length of p. That is,
[0100] Define
[0101] Then
[0102] If the width of the codeword in a single run is d x p, then d is the number of synd1_i that can be calculated simultaneously, in other words, synd1_i, synd1_i+1, …, synd1_(i+d-1) can be calculated simultaneously;
[0103] If synd_k = (synd_i + synd_(i+1) +... + synd_(i+d-1)) mod 2 is defined; Then
[0104]
[0105] Step S107: determining a current decoding result of the current decoding recursion based on the syndrome value, to determine a target decoding result based on the current decoding result.
[0106] In actual application, after performing operation on the target sub-codeword and the target operation sub-matrix in parallel to obtain the syndrome value of the target codeword, the current decoding result of the current decoding recursion can be determined based on the syndrome value, to determine the target decoding result based on the current decoding result.
[0107] The application provides a quasi-cyclic low-density parity-check code decoding method, acquires a predetermined parity-check matrix, adjusts the parity-check matrix into a target operation matrix composed of unit matrices and shift matrices, the dimensions of the unit matrices and the shift matrices are both p, acquires a target codeword to be decoded corresponding to a current decoding recursion, splits the target codeword into target sub-codewords with the length of p, determines target operation sub-matrices corresponding to the target sub-codewords in the target operation matrix, performs operation on the target sub-codewords and the target operation sub-matrices in parallel to obtain a syndrome value of the target codeword, determines a current decoding result of the current decoding recursion based on the syndrome value, and determines a target decoding result based on the current decoding result. In the application, the parity-check matrix and the target codeword are split, and operation is performed on the corresponding target operation sub-matrices and the target sub-codewords in parallel, so that the operation efficiency of the syndrome value is improved, and the operation efficiency of the entire decoding method is improved.
[0108] Please refer to Figure 2 , Figure 2 Another flow chart of a quasi-cyclic low-density parity-check code decoding method provided by the application embodiment.
[0109] The quasi-cyclic low-density parity-check code decoding method provided by the application embodiment can include the following steps:
[0110] Step S201: acquiring a predetermined parity-check matrix.
[0111] Step S202: adjusting the parity-check matrix into a target operation matrix composed of unit matrices and shift matrices, the dimensions of the unit matrices and the shift matrices are both p.
[0112] Step S203: acquiring a target codeword to be decoded corresponding to a current decoding recursion.
[0113] Step S204: splitting the target codeword into target sub-codewords with the length of p.
[0114] Step S205: determining target operation sub-matrices corresponding to the target sub-codewords in the target operation matrix.
[0115] Step S206: Perform operation on the target sub-codeword and the target operation sub-matrix in parallel to obtain a syndrome value of the target codeword.
[0116] Step S207: Determine a flip vector corresponding to the target codeword, the flip vector being used to represent whether to flip corresponding bits of the target codeword.
[0117] In actual application, in the process of determining the current decoding result of the current decoding recursion number based on the syndrome value, because the target codeword is to be flipped and then the syndrome value is updated, the flip vector corresponding to the target codeword can be determined, the flip vector being used to represent whether to flip corresponding bits of the target codeword.
[0118] It should be noted that in the process of determining the flip vector corresponding to the codeword, the flip function value of the target codeword can be calculated based on the flip function, the flip threshold value corresponding to the target codeword is determined, if the flip function value is greater than the flip threshold value, the flip vector is determined as a value representing flipping, if the flip function value is less than or equal to the flip threshold value, the flip vector is determined as a value not representing flipping, etc. The flip function, the flip threshold value, etc. can be determined according to actual needs, which are not limited herein.
[0119] Step S208: Split the flip vector into flip sub-vectors each having a length of p.
[0120] In actual application, after the flip vector corresponding to the target codeword is determined, the flip vector can be split into flip sub-vectors each having a length of p, so as to subsequently calculate and update the syndrome value based on the flip sub-vectors.
[0121] Step S209: Perform operation on the flip sub-vectors and the corresponding target operation sub-matrix in parallel to obtain a syndrome value update result of the target codeword.
[0122] In actual application, after the flip vector is split into flip sub-vectors each having a length of p, the flip sub-vectors and the corresponding target operation sub-matrix can be operated in parallel to quickly obtain the syndrome value update result of the target codeword.
[0123] In a specific application scenario, in the process of performing operation on the flip sub-vectors and the corresponding target operation sub-matrix in parallel to obtain the syndrome value update result of the target codeword, the flip sub-vectors and the corresponding target operation sub-matrix can be operated in parallel based on a third operation formula to obtain the syndrome value update result of the target codeword.
[0124] The third operation formula includes:
[0125]
[0126] synd flip k = (synd1 flip i + synd1 flip (i+1) +... + synd1 flip (i+d-1) ) mod 2;
[0127]
[0128] wherein, synd flip k represents the syndrome value update result; synd1 flip i represents the operation result of the i th flip subvector and the corresponding target submatrix; h 0,i to h (m-1),i synd1 flip i represents the target operation submatrix corresponding to the i th flip subvector. synd1 flip i represents the transpose of the i th flip subvector.
[0129] It should be noted that the derivation process of the third operation formula is as follows:
[0130] The calculation process of the syndrome value update result is as follows:
[0131]
[0132] Definition 2, then:
[0133] synd flip k = (synd1 flip i + synd1 flip (i+1) +... + synd1 flip (i+d-1) ) mod 2;
[0134] At this time,
[0135] Step S210: determining the updated syndrome value based on the syndrome value and the syndrome value update result.
[0136] In actual application, after the flip subvector and the corresponding target operation submatrix are operated in parallel to obtain the syndrome value update result of the target codeword, the updated syndrome value can be determined based on the syndrome value and the syndrome value update result.
[0137] In a specific application scenario, in the process of determining the updated syndrome value based on the syndrome value and the syndrome value update result, the fourth operation formula can be used to determine the updated syndrome value based on the syndrome value and the syndrome value update result.
[0138] The fourth operation formula includes:
[0139]
[0140] wherein, synd flip k represents the syndrome value update result; synd1 flip i represents the operation result of the i th flip subvector and the corresponding target submatrix; h
[0141] It should be noted that from the above formula, it can be known that:
[0142]
[0143]
[0144] Step S211: determining the current decoding result of the current decoding recursion based on the updated syndrome value.
[0145] In actual application, after the updated syndrome value is determined based on the syndrome value and the syndrome value updating result, the current decoding result of the current decoding recursion can be determined based on the updated syndrome value.
[0146] In order to facilitate the understanding of the quasi-cyclic low density parity check code decoding method provided by the present application, the present application scheme will be described in combination with a specific decoding process, which can include the following steps:
[0147] Obtaining an initial code word to be decoded;
[0148] Let recursion number = 0, i = 0, k = 0;
[0149] Determining the d-bit partial code word of the initial code word and calculating the partial syndrome value synd1_i, synd_k based on the first operation formula;
[0150] calculating the syndrome value based on the second operation formula
[0151] Judging whether i is equal to n-1, wherein n is the number of the code word received and subjected to segmentation processing;
[0152] If i is equal to n-1, the complete code word is received, and the syndrome value is regarded as the complete syndrome value;
[0153] If i is not equal to n-1, let i = i+d and k = k+1, wherein d is the number of synd1_i calculated simultaneously
[0154] Determining the current string state based on the initial syndrome value, wherein the string is one of the received code word and the flipped code word, and the flipped code word is the result of the received code word and the flip vector performing the exclusive or operation;
[0155] Judging whether to terminate the program based on the string state;
[0156] If not, let i = 0, k = 0;
[0157] Let recursion number = recursion number + 1;
[0158] Determining the flip threshold value, calculating the flip function value of the bit i, i+1,..., i+d-1
[0159] determine whether to flip bits i, i+1,..., i+d-1 based on the flipping threshold and the flipping function value;
[0160] calculate synd_flip_k synd1_flip_i and part of synd_i based on the third operation formula
[0161] determine whether i is equal to n-1; if i is equal to n-1, determine the updated syndrome value based on the fourth operation formula;
[0162] if i is not equal to n-1, set i=i+d and k=k+1, where d is the number of synd_i calculated simultaneously, and return to execute the step of determining the current string state based on the initial syndrome value.
[0163] Please refer to Figure 3 , Figure 3 A structure diagram of a quasi-cyclic low-density parity-check code decoding system provided by the embodiment of the application.
[0164] The quasi-cyclic low-density parity-check code decoding system provided by the embodiment of the application can include:
[0165] The first acquisition module 101 is configured to acquire a predetermined parity-check matrix.
[0166] The first transformation module 102 is configured to adjust the parity-check matrix into a target operation matrix composed of a unit matrix and a displacement matrix, and the dimensions of the unit matrix and the displacement matrix are both
[0167] The second acquisition module 103 is configured to acquire a target code word to be decoded corresponding to a current decoding recursion number.
[0168] The first splitting module 104 is configured to split the target code word into target sub-code words each having a length of p.
[0169] The first determination module 105 is configured to determine, in the target operation matrix, a target operation sub-matrix corresponding to each target sub-code word.
[0170] The first operation module 106 is configured to perform parallel operation on the target sub-code words and the target operation sub-matrix to obtain a syndrome value of the target code word.
[0171] The second determination module 107 is configured to determine a current decoding result of the current decoding recursion number based on the syndrome value, and determine a target decoding result based on the current decoding result.
[0172] The description of each module in the quasi-cyclic low-density parity-check code decoding system provided by the embodiment of the application can be referred to the above embodiment, which will not be repeated here.
[0173] The application further provides a quasi-cyclic low-density parity-check code decoding device and a computer readable storage medium, both of which have the corresponding effects of the quasi-cyclic low-density parity-check code decoding method provided in the embodiments of the application. Please refer to Figure 4 Figure 4 FIG. 1 is a structural schematic diagram of a quasi-cyclic low-density parity-check code decoding device provided in the embodiments of the application.
[0174] The quasi-cyclic low-density parity-check code decoding device provided in the embodiments of the application comprises a memory 201 and a processor 202, and the memory 201 stores a computer program. When the processor 202 executes the computer program, the steps of the quasi-cyclic low-density parity-check code decoding method described in any of the above embodiments are implemented.
[0175] Please refer to Figure 5 In another quasi-cyclic low-density parity-check code decoding device provided in the embodiments of the application, an input port 203 connected with the processor 202, a display unit 204 connected with the processor 202, and a communication module 205 connected with the processor 202 can be further included. The input port 203 is used to transmit an externally input command to the processor 202. The display unit 204 is used to display the processing result of the processor 202 to the outside world. The communication module 205 is used to realize the communication between the quasi-cyclic low-density parity-check code decoding device and the outside world. The display unit 204 can be a display panel, a laser scanning display, or the like. The communication mode adopted by the communication module 205 includes but is not limited to mobile high-definition link technology (HML), universal serial bus (USB), high-definition multimedia interface (HDMI), wireless connection, wireless fidelity technology (WiFi), Bluetooth communication technology, low-power Bluetooth communication technology, and communication technology based on IEEE 802.11s.
[0176] The computer readable storage medium provided in the embodiments of the application stores a computer program. When the computer program is executed by a processor, the steps of the quasi-cyclic low-density parity-check code decoding method described in any of the above embodiments are implemented.
[0177] The computer readable storage medium involved in the application includes a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable magnetic disk, a CD-ROM, or any other form of storage medium known in the technical field.
[0178] The related parts in the quasi-cyclic low-density parity-check code decoding system, the device and the computer readable storage medium provided in the embodiments of the present application are described in detail in the corresponding part of the quasi-cyclic low-density parity-check code decoding method provided in the embodiments of the present application, and will not be described here. In addition, the parts of the above technical solutions provided in the embodiments of the present application that are consistent with the implementation principles of the corresponding technical solutions in the prior art are not described in detail, so as not to be too verbose.
[0179] It should also be noted that, in this document, relational terms such as first and second and the like can be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element preceded by "comprises a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus that comprises the recited element.
[0180] The above description of disclosed embodiments enables a person skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A quasi-cyclic low-density parity-check code decoding method characterized by comprising: The method comprises the following steps: obtaining a predetermined parity check matrix; The parity check matrix is adjusted to a target operation matrix composed of a unit matrix and a displacement matrix, dimensions of the unit matrix and the displacement matrix are ; obtaining a target codeword to be decoded corresponding to a current decoding recursion number; splitting the target codeword into target sub-codewords each having a length of p; determining, in the target operation matrix, a target operation sub-matrix corresponding to each target sub-codeword; performing parallel operation on the target sub-codewords and the target operation sub-matrix based on a first operation formula to obtain a corresponding first operation result; determining a syndrome value of the target codeword based on all the first operation results through a second operation formula; determining a current decoding result of the current decoding recursion number based on the syndrome value, and determining a target decoding result based on the current decoding result; the first operation formula comprises: ; ; ; ; wherein, denotes the th first operation result; denotes the number of the target sub-codewords; denotes the number of parallel operations; denotes the th operation result of the target sub-codeword and the corresponding target operation sub-matrix; to denotes the th target operation sub-matrix corresponding to the target sub-codeword; denotes the transpose of the th target sub-codeword; denotes the ceiling function; denotes the number of the target operation sub-matrices corresponding to a single target sub-codeword; the second operation formula comprises: ; wherein, represents the symptom value.
2. The method of claim 1, wherein, the determination of the current decoding result of the current decoding recursion number based on the syndrome value comprises: determining a flip vector corresponding to the target codeword, the flip vector being used to represent whether to flip a corresponding bit of the target codeword; splitting the flip vector into flip sub-vectors each having a length of p; performing parallel operation on the flip sub-vectors and the corresponding target operation sub-matrix to obtain a syndrome value update result of the target codeword; determining an update syndrome value based on the syndrome value and the syndrome value update result; determining the current decoding result of the current decoding recursion number based on the update syndrome value.
3. The method of claim 2, wherein, the performance of the parallel operation on the flip sub-vectors and the corresponding target operation sub-matrix to obtain the syndrome value update result of the target codeword comprises: performing parallel operation on the flip sub-vectors and the corresponding target operation sub-matrix based on a third operation formula to obtain the syndrome value update result of the target codeword; the third operation formula comprises: ; ; ; wherein, denotes the result of the symptom value update; denotes the result of the operation of the th spinor vector with the corresponding target operator matrix; to denotes the target operator matrix corresponding to the th spinor vector; denotes the transpose of the th spinor vector.
4. The method of claim 3, wherein, the determination of the update syndrome value based on the syndrome value and the syndrome value update result comprises: determining the update syndrome value based on the syndrome value and the syndrome value update result through a fourth operation formula; the fourth operation formula comprises: ; wherein, represents the updated symptom value.
5. A quasi-cyclic low-density parity-check code decoding system, characterized by comprising: The method comprises the following steps: a first obtaining module is configured to obtain a predetermined parity check matrix; The first conversion module is configured to adjust the parity check matrix into a target operation matrix composed of unit matrices and displacement matrices, wherein the unit matrices and the displacement matrices have the same dimension of ; a second obtaining module is configured to obtain a target codeword to be decoded corresponding to a current decoding recursion number; a first splitting module is configured to split the target codeword into target sub-codewords each having a length of p; a first determining module is configured to determine, in the target operation matrix, a target operation sub-matrix corresponding to each target sub-codeword; a first operation module is configured to perform parallel operation on the target sub-codewords and the target operation sub-matrix based on a first operation formula to obtain a corresponding first operation result; a second determining module is configured to determine a syndrome value of the target codeword based on all the first operation results through a second operation formula; the first operation formula comprises: the second operation formula comprises: ; ; ; ; wherein, denotes the th first operation result; denotes the number of the target sub-codewords; denotes the number of parallel operations; denotes the th operation result of the target sub-codeword and the corresponding target operation sub-matrix; to denotes the th target operation sub-matrix corresponding to the target sub-codeword; denotes the transpose of the th target sub-codeword; denotes the ceiling function; denotes the number of the target operation sub-matrices corresponding to a single target sub-codeword; The method comprises the following steps: ; wherein, represents the symptom value.
6. A quasi-cyclic low-density parity-check code decoding device characterized by comprising: a memory is configured to store a computer program; a processor is configured to implement the steps of the quasi-cyclic low-density parity check code decoding method according to any one of claims 1 to 4 when the computer program is executed. 7. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executed by the processor to implement the steps of the quasi-cyclic low density parity check code decoding method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Decoding method and device
CN110022158A
Decoding device and method, storage medium and computer equipment
CN113590377A