Encoding and decoding method, device, and system
The doubly extended Hamming code addresses high complexity issues in existing Hamming codes by optimizing the parity check matrix and generator matrix, resulting in reduced error rates and improved interference resistance in communication systems.
Patent Information
- Application Number
- JP2023557239
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-18
- Filing Date
- 2022-03-15
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2042-03-15
AI Technical Summary
Current FEC-based encoding techniques, such as Hamming codes, suffer from high encoding and decoding complexity, especially in double-extended Hamming codes, and do not provide optimal performance for specific code lengths, leading to inefficiencies in error correction and interference resistance in communication systems.
A doubly extended Hamming code is developed with a target parity check matrix determined by a predefined function set, reducing manipulation and complexity while optimizing performance, using a generator matrix for encoding and a target parity check matrix for decoding.
The improved Hamming code achieves lower encoding and decoding complexity, reduces bit error rates, and enhances interference resistance in communication systems, improving overall system performance.
Smart Images

Figure 0007746401000063 
Figure 0007746401000064 
Figure 0007746401000065
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the present disclosure relate generally to the field of communication technologies, and more particularly to encoding and decoding methods, devices, and systems. do. [Background technology]
[0002] In a communication system, information is sent in the form of a signal from a transmitting end and transmitted to a receiving end through a communication channel, such as an optical fiber, a cable, or an electric wave. In this process, noise in the channel or noise from the receiving end and the transmitting end is usually superimposed on the signal, thereby causing errors in the signal received by the receiving end. Currently, forward error correction (FEC) technology is commonly used in communication systems to encode information before the signal is transmitted, so that the receiving end can restore the original signal transmitted by the transmitting end based on the erroneously received signal. In addition, FEC technology is also widely applied in storage systems.
[0003] FEC-based encoding techniques include, for example, Hamming code, BCH code, RS code, and Turbo product code (TPC). Hamming code is a perfect code that uses a simple hard-decision decoding scheme and can detect and correct single-bit errors. Specifically, the concept of parity bits is used for Hamming code. Information is first grouped, and then a check bit is added before each group of information bits. In this design, the validity of the information can be verified and the location of errors in the information can be further indicated. In practice, various forms of extended Hamming codes have been provided. The principle of extended Hamming code is to extend the conventional Hamming code by using additional parity bits or row vectors to implement enhanced detection and error correction capabilities. However, the current performance of single-extended Hamming codes is not ideal, and while the performance of double-extended Hamming codes is improved, the encoding and decoding complexity is relatively high. Summary of the Invention
[0004] Generally, exemplary embodiments of the present disclosure provide a scheme for generating a doubly extended Hamming code, as well as associated encoding and decoding schemes.
[0005] According to a first aspect of the present disclosure, there is provided an encoding method. In the method, a generator matrix for encoding is obtained. In the context of the present disclosure, the generator matrix is determined based on a target parity check matrix of a Hamming code for encoding, and the target parity check matrix is determined based on a target function for decoding. The target function is used to determine an expanded non-all-zero row vector based on the target parity check matrix. The target function is one of a set of predefined functions. In the method, information bits are encoded by using the generator matrix. Te, E Obtaining an encoded data stream The method further includes transmitting the encoded data stream.
[0006] In the encoding method provided in this embodiment of the present invention, an improved double extended Hamming code is used, and the target parity check matrix of the improved double extended Hamming code has a smaller amount of manipulation and is obtained based on a target function selected from a predetermined function set, so that such an extended Hamming code can be implemented with lower encoding complexity and optimized performance in a specific code space.
[0007] In a first implementation according to the first aspect, the target function h(S 0,i ,S 1,i ,S 2,i ) are the first three elements S of the column vector corresponding to the non-all-zero row vector. 0,i , S 1,i , S 2,i determining a non-all-zero row vector based on at least some elements of The predefined set of functions is:
number
[0008] In a second implementation of the first aspect, the code length of the Hamming code is 180, the length of the information bits is 170, all elements in a ninth row of the target parity-check matrix are 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 8,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i As a result, the element S of the column vector corresponding to the non-zero row vector 8,i where i is an integer greater than or equal to 0 and less than 180;
number
[0009] In a third implementation of the first aspect, the Hamming code has a code length of 128, the information bit length is 119, and all elements S in the eighth row of the target parity-check matrix 8,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S7,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i element S of the column vector corresponding to the non-all-zero row vector as one of 7,i where i is an integer greater than or equal to 0 and less than 128,
number
[0010] In a fourth implementation of the first aspect, the Hamming code has a code length of 64, the information bit length is 56, and all elements S in the seventh row of the target parity-check matrix 7,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector, 6,i where i is an integer greater than or equal to 0 and less than 64,
number
[0011] In a fifth implementation of the first aspect, the generator matrix is determined based on a system check matrix, and the system check matrix is obtained by transforming the target parity check matrix.
[0012] In a sixth implementation of the first aspect, the predetermined function set includes a plurality of candidate functions for determining the expanded non-all-zero row vector based on the target parity check matrix.
[0013] In a seventh implementation of the first aspect, the target parity check matrix is determined by the following steps: determining a plurality of candidate parity check matrices based on the plurality of candidate functions; selecting a non-singular matrix from the plurality of candidate parity check matrices, obtaining a first set of candidate parity check matrices; converting the first set of candidate parity check matrices into a second set of candidate parity check matrices in a systematic format; determining a third parameter associated with each candidate parity check matrix in the second set of candidate parity check matrices, the third parameter indicating the encoding complexity of the Hamming code; selecting a first group of candidate parity check matrices from the first set of candidate parity check matrices based on the third parameter; and determining the target parity check matrix from the first group of candidate parity check matrices.
[0014] In an eighth implementation of the first aspect, the target parity check matrix is determined from the first group of candidate parity check matrices by: determining a fourth parameter associated with each candidate parity check matrix in the first group of candidate parity check matrices, the fourth parameter indicating the amount of minimum code weight of the Hamming code corresponding to each candidate parity check matrix in the first group of candidate parity check matrices; selecting a second group of candidate parity check matrices from the first group of candidate parity check matrices based on the fourth parameter; and determining the target parity check matrix from the second group of candidate parity check matrices.
[0015] In a ninth implementation of the first aspect, the target parity check matrix includes the steps of: determining a plurality of candidate parity check matrices based on the plurality of candidate functions; selecting a non-singular matrix from the plurality of candidate parity check matrices; obtaining a first candidate parity check matrix set; converting the first candidate parity check matrix set into a second candidate parity check matrix set in a systematic format; determining a fourth parameter associated with each candidate parity check matrix in the second candidate parity check matrix set, the fourth parameter indicating an amount of minimum code weight of the Hamming code corresponding to each candidate parity check matrix in the second candidate parity check matrix set; selecting a first group of candidate parity check matrices from the first candidate parity check matrix set based on the fourth parameter; and determining the target parity check matrix from the first group of candidate parity check matrices. is determined by:
[0016] In a tenth implementation of the first aspect, the target parity check matrix is determined from the first group of candidate parity check matrices by: determining a third parameter associated with each candidate parity check matrix in the first group of candidate parity check matrices, the third parameter indicating the encoding complexity of the Hamming code; selecting a second group of candidate parity check matrices from the first group of candidate parity check matrices, the second group of candidate parity check matrices having the third parameter less than a predetermined threshold; and determining the target parity check matrix from the second group of candidate parity check matrices.
[0017] In an eleventh implementation according to the first aspect, the second set of candidate parity check matrices in the systematic form is obtained through a transformation by: for each candidate parity check matrix in the first set of candidate parity check matrices, moving at least some linearly independent column vectors from right to left to the right end of the corresponding candidate parity check matrix; and performing an elementary row transformation such that the right part of the corresponding candidate parity check matrix is an identity matrix.
[0018] In a twelfth implementation of the first aspect, the target parity check matrix is determined from the second group of candidate parity check matrices by a step of determining an operation amount of a function corresponding to each candidate parity check matrix in the second group of candidate parity check matrices in the function set, and a step of determining the target parity check matrix based on the operation amount.
[0019] According to a second aspect of the present disclosure, a decoding method is provided, the method including: receiving a data stream; obtaining a target parity check matrix of a Hamming code for decoding, the target parity check matrix being determined based on a target function for decoding, the target function being used to determine an extended non-all-zero row vector based on the target parity check matrix, and the target function being one of a set of predefined functions; and decoding the data stream by using the target parity check matrix.
[0020] In the decoding method provided in this embodiment of the present invention, an improved extended Hamming code is used, and the target parity check matrix of the improved extended Hamming code has a smaller amount of operation and is obtained based on a target function selected from a predetermined function set, so that such an extended Hamming code can achieve lower decoding complexity and optimized performance at the decoding end without changing the codeword output by the encoding end.
[0021] In the first implementation according to the second aspect, the target function h(S 0,i ,S 1,i ,S 2,i ) are the first three elements S of the column vector corresponding to the non-all-zero row vector. 0,i , S 1,i , S 2,i and determining a non-all-zero row vector based on at least some elements of
number
[0022] In a second implementation of the second aspect, the code length of the Hamming code is 180, the length of the information bits is 170, all elements in the 9th row of the target parity-check matrix are 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 8,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i As a result, the element S of the column vector corresponding to the non-zero row vector 8,i Determine
number
[0023] In a third implementation of the second aspect, the Hamming code has a code length of 128, the information bit length is 119, and all elements S in the eighth row of the target parity-check matrix 8,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S 7,i =h(S0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i element S of the column vector corresponding to the non-all-zero row vector as one of 7,i where i is an integer greater than or equal to 0 and less than 128,
number
[0024] In a fourth implementation of the second aspect, the Hamming code has a code length of 64, the information bit length is 56, and all elements S in the seventh row of the target parity-check matrix 7,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector, 6,i where i is an integer greater than or equal to 0 and less than 64,
number
[0025] In a fifth implementation of the second aspect, the predetermined function set includes a plurality of candidate functions for determining the expanded non-all-zero row vector based on the target parity check matrix.
[0026] In a sixth implementation of the second aspect, the target parity check matrix is determined by the steps of: determining a plurality of candidate parity check matrices based on the plurality of candidate functions; selecting a non-singular matrix from the plurality of candidate parity check matrices to obtain a first set of candidate parity check matrices; converting the first set of candidate parity check matrices into a second set of candidate parity check matrices in a systematic format; and determining a third parameter associated with each candidate parity check matrix in the second set of candidate parity check matrices, the third parameter indicating an encoding complexity of the Hamming code; selecting a first group of candidate parity check matrices from the first set of candidate parity check matrices based on the third parameter; and determining the target parity check matrix from the first group of candidate parity check matrices.
[0027] In a seventh implementation of the second aspect, the target parity check matrix is determined from the first group of candidate parity check matrices by: determining a fourth parameter associated with each candidate parity check matrix in the first group of candidate parity check matrices, the fourth parameter indicating the amount of minimum code weight of the Hamming code corresponding to each candidate parity check matrix in the first group of candidate parity check matrices; selecting a second group of candidate parity check matrices from the first group of candidate parity check matrices based on the fourth parameter; and determining the target parity check matrix from the second group of candidate parity check matrices.
[0028] In an eighth implementation of the second aspect, the target parity check matrix includes the steps of: determining a plurality of candidate parity check matrices based on the plurality of candidate functions; selecting a non-singular matrix from the plurality of candidate parity check matrices; obtaining a first candidate parity check matrix set; converting the first candidate parity check matrix set into a second candidate parity check matrix set in a systematic format; determining a fourth parameter associated with each candidate parity check matrix in the second candidate parity check matrix set, the fourth parameter indicating an amount of minimum code weight of the Hamming code corresponding to each candidate parity check matrix in the second candidate parity check matrix set; selecting a first group of candidate parity check matrices from the first candidate parity check matrix set based on the fourth parameter; and determining the target parity check matrix from the first group of candidate parity check matrices. is determined by:
[0029] In a ninth implementation of the second aspect, the target parity check matrix is determined from the first group of candidate parity check matrices by: determining a third parameter associated with each candidate parity check matrix in the first group of candidate parity check matrices, the third parameter indicating the encoding complexity of the Hamming code; selecting a second group of candidate parity check matrices from the first group of candidate parity check matrices, the second group of candidate parity check matrices having the third parameter less than a predetermined threshold; and determining the target parity check matrix from the second group of candidate parity check matrices.
[0030] In a tenth implementation according to the second aspect, the second set of candidate parity check matrices in the systematic form is obtained through a transformation by: for each candidate parity check matrix in the first set of candidate parity check matrices, moving at least some linearly independent column vectors from right to left to the right end of the corresponding candidate parity check matrix; and performing an elementary row transformation such that the right part of the corresponding candidate parity check matrix is an identity matrix.
[0031] In an eleventh implementation relating to the second aspect, the target parity check matrix is determined from the second group of candidate parity check matrices by a step of determining an operation amount of a function corresponding to each candidate parity check matrix in the second group of candidate parity check matrices in the function set, and a step of determining the target parity check matrix based on the operation amount.
[0032] In a twelfth implementation of the second aspect, the step of decoding the data stream by using the target parity check matrix includes the steps of calculating a syndrome of the data based on the target parity check matrix, and outputting at least some bits of the data stream as decoded information bits if the syndrome is zero, or determining whether a first column vector equal to the syndrome exists in the target parity check matrix if the syndrome is not zero, inverting bits in the data stream corresponding to the first column vector if a first column vector equal to the syndrome exists in the target parity check matrix, and outputting at least some bits of the data stream after the inversion as the decoded information bits.
[0033] According to a third aspect of the present disclosure, there is provided an encoding apparatus, the encoding apparatus including at least one processor and at least one memory containing computer program code, the at least one memory and the computer program code configured to cooperate with the at least one processor to enable the encoding apparatus to perform the method of the first aspect of the present disclosure.
[0034] According to a fourth aspect of the present disclosure, there is provided a decoding apparatus. Decoding Device includes at least one processor and at least one memory containing computer program code, the at least one memory and the computer program code cooperating with the at least one processor to Decoding Device is configured to enable the method of the second aspect of the present disclosure to be carried out. Device.
[0035] The present disclosure Fifth aspectAccording to the present disclosure, a communication system is provided. Third aspect and an encoding device according to the present disclosure. Fourth aspect The present invention includes a decoding device according to the present invention.
[0036] Based on the improved extended Hamming code provided in the embodiment of the present invention, the bit error rate of the encoding device, the decoding device, and the communication system including the encoding device and the decoding device can be significantly reduced and the ability to withstand channel interference can be improved, thereby improving the system performance. [Brief explanation of the drawings]
[0037] The foregoing and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent with reference to the accompanying drawings and with reference to the following detailed description, in which like or similar reference numerals represent like or similar elements. [Figure 1] FIG. 1 is a schematic diagram of a communication system architecture according to one exemplary embodiment of the present disclosure. [Figure 2] FIG. 2 is a flowchart of an encoding method according to one exemplary embodiment of the present disclosure. [Figure 3] FIG. 3 is a flowchart of a decoding method according to one exemplary embodiment of the present disclosure. [Figure 4] FIG. 4 is a diagram of the performance of a double extended Hamming code and a conventional extended Hamming code, according to one exemplary embodiment of the present disclosure. [Figure 5] FIG. 5 is a block diagram of an electronic device according to one exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0038] The following describes embodiments of the present invention with reference to the accompanying drawings. Although several exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure may be implemented in various forms and should not be construed as being limited to the embodiments described herein. On the contrary, these embodiments are provided so that the present disclosure can be thoroughly and completely understood. It should be understood that the accompanying drawings and embodiments of the present invention are merely used as examples and are not intended to limit the protection scope of the present invention.
[0039] As used herein, the term "include" and variations thereof refer to open inclusion, i.e., "include but not limited to." Unless otherwise stated, the term "or" means "and / or." The term "based on" means "at least partially based on." The terms "example embodiment" and "some embodiments" refer to "at least one embodiment." Other explicit and implicit definitions may also be included below.
[0040] The minimum Hamming distance of a conventional Hamming code is 3, and the conventional Hamming code can detect and correct a 1-bit error. To enhance the performance of the Hamming code, an additional parity bit is added to the conventional Hamming code, e.g., Hamming code (2 m -1,2 m -1-m) to form a single-bit extended Hamming code (eHamming) (2 m ,2 m−1−m), which is also referred to below as the “extended Hamming code” or the “conventional extended Hamming code.” The conventional extended Hamming code is a (m+1)×2 m We have a parity check matrix of size ∑ i = ...
number
[0041] where H is the conventional Hamming code (2 m -1,2 m The size of the parity check matrix is m×(2 m −1), where 1 represents an all-one row vector of length 1, and 0 represents an all-zero column vector. Clearly, H e The last line of m is an all-ones row vector of length
[0042] The minimum Hamming distance of the conventional extended Hamming code (eHamming) is 4, and it can detect 2-bit errors and correct 1-bit errors. m ,2 m -1-m) is the coding rate of R e =(2 m -1-m) / 2 m To achieve a lower code rate, a shortening technique may be used in which q information bits are set to 0, resulting in a shortened extended Hamming code (2 m -q,2 m -1-mq), where 0≦q<(2 m -1) / 2.
[0043] Although the function formula of the conventional extended Hamming code (eHamming) is simple, the performance of the conventional extended Hamming code needs to be further improved. In addition, for some specific code lengths, the shortened bit length of the conventional extended Hamming code is longer. For example, for the conventional extended Hamming code (eHamming) (180,170), the code parameter of the conventional extended Hamming code is m=9, and the shortened bit length is q=332, where q is almost twice the information length k=170. In this respect, the Hamming code needs to be improved and optimized.
[0044] According to an embodiment of the present invention, an improved double-extended Hamming code and an encoding and decoding method based on the improved double-extended Hamming code are provided. The target parity check matrix of the improved double-extended Hamming code has a smaller amount of manipulation and is obtained based on a target function selected from a predetermined function set. As a result, such an extended Hamming code can implement lower encoding and decoding complexity and a lower bit error rate in a specific code space, and provide optimized performance. Thus, the interference resistance of a communication system is improved.
[0045] FIG. 1 is a schematic diagram of a communication system architecture according to one exemplary embodiment of the present disclosure. As shown in FIG. 1, the communication system 100 includes an encoding device 110, a decoding device 120, and a channel 104 connecting the encoding device 110 and the decoding device 120. The architecture of the communication system 100 is merely an example and is not intended to imply any limitation on the scope of the present disclosure. Embodiments of the present disclosure may also be implemented in other communication systems. Additionally, it should be understood that the communication system 100 may further include other elements or entities configured to receive, transmit, encode, and decode information or data, etc. These elements or entities are not shown in the communication system 100 for ease of explanation. However, this does not mean that embodiments of the present disclosure do not include these elements or entities.
[0046] The encoding device 110 functions as a transmitting end of information or data. The encoding device 110 obtains information bits u to be sent from a source (not shown), encodes the information bits u into a data stream c, and transmits the data stream c to the decoding device 120 via a channel 104. The channel 104 can be implemented in various forms, such as a wired or wireless connection, including but not limited to optical fiber, cable, or radio wave. In the process of transmitting information or data streams, noise in the channel 104 or noise introduced by the transmitting end and / or receiving end is usually superimposed, resulting in errors in the data stream received by the receiving end. By using various encoding and decoding techniques, the interference resistance performance of the communication system 100 can be improved.
[0047] Encoding device 110 can encode information using various encoding schemes. In some embodiments, encoding device 110 may use a Hamming code as an encoding technique, and correspondingly, decoding device 120 also uses a Hamming code as a decoding technique. The Hamming code corresponds to a generator matrix G for encoding and a parity check matrix H for decoding. The generator matrix G is determined based on the parity check matrix H. In some embodiments, the generator matrix G is configured for encoding device 110. Before transmitting the information bit sequence u, encoding device 110 encodes the information bit sequence u using the generator matrix u to generate an encoded data stream c.
[0048] The decoding device 120 serves as a receiving end. The decoding device 120 receives the data stream c from the encoding device 110 via the channel 104 and decodes the data stream c to obtain the original information bit sequence u transmitted by the encoding device 110. The decoding device 120 can decode the data stream c using a decoding scheme corresponding to the encoding scheme of the encoding device 110. In some embodiments, the decoding device 120 may use a Hamming code as a decoding technique. In such embodiments, a parity check matrix H corresponding to a generator matrix G of the Hamming code may be configured for the decoding device 120. After receiving the data stream c, the decoding device 120 first determines a syndrome T based on the data stream c and the parity check matrix H. If the syndrome is zero, i.e., T=0, it indicates that the data stream c does not need to be corrected. If the syndrome is not zero, it indicates that an error exists in the data stream. In this case, the decoding device 120 corrects the data stream by flipping bits that match the syndrome and correspond to the column vectors in the parity check matrix H to obtain the original information bits u.
[0049] According to one exemplary embodiment of the present disclosure, an optimized Hamming code is provided, which further shortens the bit length and implements double extension based on the conventional Hamming code. The optimized Hamming code is generated by using a relatively simple function, so that the Hamming code has lower design complexity. In addition, the optimized Hamming code can reduce the encoding and decoding complexity for various code lengths and information bit lengths and provide good anti-interference performance for the system.
[0050] The code length of the Hamming code (DE-Hamming) in this disclosure is 2m -q, and the length of the information bit is 2 m -2-mq, where m is a positive integer, m≧3, and 0≦q<(2 m -1) / 2. The parity check matrix H of the Hamming code DE is m×(2 m −1−q) matrix, and can be expressed as:
number
[0051] where H is the code length of 2 m -1-q and the information bit length is 2 m The parity check matrix of a conventional Hamming code is −1−mq, where 1 represents an all-ones row vector of length 1, 0 represents an m-dimensional all-zero column vector, and D is to be expanded and its length is 2 m represents a non-all-zero row vector, where -q.
[0052] From Equation (2), the parity check matrix (DE-Hamming) H of the Hamming code in this disclosure is DE It can be determined that the row vectors D and l are expanded in the parity check matrix of a conventional Hamming code to obtain DE contains an (m+2)-dimensional column vector. According to an embodiment of the present invention, in order to effectively reduce the design complexity of the Hamming code (DE-Hamming) in the present invention, an appropriate function is selected to generate a non-all-zero row vector D for extension, so that the Hamming code in the present invention has better encoding and decoding performance than the traditional Hamming code (Hamming) and the traditional extended Hamming code (eHamming).
[0053] To determine the non-all-zero row vector D, the function g is considered, and this function is then used to determine the parity check matrix H DE(m+2)-dimensional line A vector can be mapped to an (m+2)-dimensional column vector. Specifically, the function g maps an (m+2)-dimensional column vector based on the integer i, where 0≦i≦2. m -q-1, where the function g can be determined as follows:
number
[0054] where:
number
[0055] Furthermore, the function h is m,i This can be written as follows:
number
[0056] The function h takes a 3-bit input, namely, S 0,i , S 1,i , and S 2,i and a 1-bit element S m,i Output.
[0057] Clearly, a function h forms a set of functions h, 2 8 The set of functions h can be represented by a truth table. If the non-all-zero row vector D has length 2 mSince it is -q, the output of function h contains at least one value of "1". In addition, when the output of function h contains 7, 6, or 5 "1"s, it is equivalent to the case where the output of function h contains 1, 2, or 3 values of "1", respectively. Therefore, in one exemplary embodiment, only the cases where the output of function h contains 1, 2, 3, or 4 values of "1" are considered. Thus, function h
Number
[0058] Set of functions h: from h1 to h 162 up to, <j≦162, for a given function h j in, the following parity-check matrix H m with size (m + 2)×(2 j -q) is determined.
Number
[0059] Based on Equation (5), function g can be determined as follows.
Number
[0060] Furthermore, the parity-check matrix H j is determined. If the parity-check matrix H j is not non-singular matrix , it indicates that the function h j corresponding to it is not available. Otherwise, the parity-check matrix H j jis a non-singular matrix, it is the parity check matrix H j The function h corresponding to j indicates that it is available.
[0061] In some exemplary embodiments, the non-singular parity check matrix H j is transformed into a systematic form. For example, m+2 linearly independent column vectors are transformed into a parity check matrix H j , and these column vectors are then used to calculate the parity check matrix H j is moved to the right edge of the
number
[0062] where H R is the parity check matrix H DE,j represents the right part of H, and contains m+2 linearly independent column vectors, and is a matrix of size (m+2) × (m+2), and L is the matrix H j From H R After removal, (m+2)×(2 m -2-mq) matrix.
[0063] Furthermore, the parity check matrix H DE,j An elementary row transformation is performed on the parity check matrix H, so that the right part of the parity check matrix is the identity matrix, and the system check matrix H sys,j to acquire.
number
[0064] where I represents the identity matrix of size (m+2)×(m+2), and P represents the identity matrix of size (m+2)×(2 m-2-mq), and P=(H R ) -1 H L is.
[0065] Furthermore, the function h j For , the system is a Hamming code and the size is (2 m -2-mq)×(2 m q) is the generator matrix G j can be determined according to equation (9).
number
[0066] Here, I is a square with a size of (2 m -2-mq)×(2 m -2-mq) represents the identity matrix.
[0067] Here, the encoding complexity of the Hamming code is related to the number of 1 elements in the matrix P, and the amount of 1 elements is O. j Therefore, in some exemplary embodiments, the parameter O j may be used as an indicator of the encoding complexity of the Hamming code (DE-Hamming) in this disclosure.
[0068] System check matrix H sys,j Based on this, the weight hierarchy of the Hamming code (DE-Hamming) in the present disclosure can be further determined. j Since has a dominant effect on the performance of Hamming codes, in some exemplary embodiments, the parameter A j can be used as an indicator of the performance of the Hamming code.
[0069] The set of functions h shown in Tables 1 to 4, i.e., functions h1 to h 162The above operation is repeated for , and , respectively, and a parameter O, which indicates the encoding complexity and performance of the Hamming code, is calculated. j and A j is determined. Parameter O j and A j Based on one or more of the following, a target function h(S 0,i ,S 1,i ,S 2,i ), target parity-check matrix H DE , and a generator matrix G for generating a Hamming code that can provide low encoding complexity and good performance.
[0070] The following is a brief description of a method for generating a Hamming code according to one embodiment of the present invention. In some embodiments, the corresponding parity check matrix H j is the function h in the set h from h 162 In some other embodiments, the parity check matrix H obtained by using some functions h in the set of functions h may be determined for all of the above. j is definitely not non-singular. For example, the function h in Tables 1 to 4 93 , h 102 , h 113 , h 142 , h 153 , and h 162 Considering this, we can calculate the function h and its parity check matrix H j For h, the subsequent steps may not be performed. In this embodiment, a default function may be used that includes some functions in the set of functions h, and includes multiple candidate functions h.
[0071] The default function set is used as an example. Multiple corresponding candidate parity-check matrices H jcan be determined based on multiple candidate functions h. These candidate parity-check matrices H j A non-singular matrix is selected as a first candidate parity-check matrix set from the matrix O. The first candidate parity-check matrix set is transformed to obtain a second candidate parity-check matrix set in a systematic form. For the second candidate parity-check matrix set, a matrix P corresponding to the second candidate parity-check matrix set is first calculated by: j and parameters O smaller than a predefined threshold. j Then, the matrices P having the following candidacy are selected from the second set of candidate parity-check matrices: DE is determined as the first group of candidate parity-check matrices. Furthermore, the target parity-check matrix H DE may be determined from the first group of candidate parity-check matrices, and a target function h(S 0,i ,S 1,i ,S 2,i ) can be determined. In this embodiment, the predetermined threshold can be a predetermined amount of factor 1. Additionally or alternatively, all parameters O j The matrix P having the smallest value in may be selected.
[0072] In the implementation of the above embodiment, the corresponding parameter A j may be further determined for each candidate parity-check matrix in the determined first group of candidate parity-check matrices. j A target parity-check matrix is determined from the first candidate parity-check matrix group based on the target function h(S 0,i ,S 1,i ,S 2,i ) to determine the corresponding function h. For example, the candidate parity-check matrix with the minimum amount of minimum code weight is determined by the parameter A jA target parity-check matrix may then be determined from the second group of candidate parity-check matrices, and a corresponding function h may be selected from the first group of candidate parity-check matrices based on the target function h(S 0,i ,S 1,i ,S 2,i ) is determined as
[0073] In another exemplary embodiment, the parameter A j can be considered first. Similarly, as an example, a set of predefined functions is used. Multiple corresponding candidate parity-check matrices H j The non-singular matrices can be determined as the first set of candidate parity-check matrices, and these candidate parity-check matrices H j Similarly, the first candidate parity-check matrix set is transformed to obtain a second candidate parity-check matrix set in a systematic format. For the second candidate parity-check matrix set, the parameter A j Then, a parity-check matrix having the smallest amount of minimum code weights is selected from the second set of candidate parity-check matrices as a first group of candidate parity-check matrices. Further, a target parity-check matrix is determined from the first group of candidate parity-check matrices.
[0074] In one implementation of the aforementioned embodiment, the corresponding parameter O j may be further determined for each candidate parity-check matrix in the determined first group of candidate parity-check matrices. j A target parity-check matrix is determined from the first candidate parity-check matrix group based on the first candidate parity-check matrix group, and the corresponding function h is defined as the target function h(S 0,i ,S 1,i ,S 2,i ) is determined as follows: For example, if the parameter O is smaller than a predetermined threshold, jthe candidate parity-check matrices having a parameter O associated with each candidate parity-check matrix in the first group of candidate parity-check matrices. j For example, a candidate parity-check matrix having the smallest amount of minimum code weight may be selected from the first group of candidate parity-check matrices as the second group of candidate parity-check matrices. A target parity-check matrix is then determined from the second group of candidate parity-check matrices, and a corresponding function h is calculated as the target function h(S 0,i ,S 1,i ,S 2,i ) is determined as
[0075] In an implementation of determining a target parity-check matrix from the second group of candidate parity-check matrices, a manipulated variable of function h that is in the set of functions h and corresponds to each candidate parity-check matrix in the second group of candidate parity-check matrices may be determined, and a corresponding target function h(S 0,i ,S 1,i ,S 2,i ), and determine the target parity-check matrix from the second group of candidate parity-check matrices. For example, the function h with the minimum amount of manipulation is the target function h(S 0,i ,S 1,i ,S 2,i ) is selected.
[0076] In one exemplary embodiment according to the present disclosure, the target function h(S 0,i ,S 1,i ,S 2,i The set of predefined functions for determining h may be obtained according to the logical expressions of the function h shown in Tables 1 to 4, and the set of predefined functions includes one or more of the following functions:
number
[0077] According to one embodiment of the present invention, a Hamming code generation method is provided. According to this method, for various code lengths and information bit lengths, an appropriate function is selected from a function set for determining a parity check matrix. Therefore, the generated Hamming code can achieve excellent performance and reduce the encoding and decoding complexity at both the encoding and decoding sides, thereby enhancing the performance of the communication system and improving the communication quality.
[0078] An optimized Hamming code according to an embodiment of the present disclosure, an exemplary encoding process, and an exemplary decoding process based on the optimized Hamming code are described in detail below with reference to FIGS. 2 through 5.
[0079] 2 is a flowchart of an encoding method 200 according to one exemplary embodiment of the present disclosure. Method 200 may be implemented by encoding device 110 shown in FIG. 1 and may include channel 104 and decoding device 120 shown in FIG. 1. For ease of explanation, method 200 will be described below with reference to FIG. 1. It should be understood that method 200 is also applicable to other communication scenarios and other encoding devices.
[0080] In block 201, the encoding device 110 obtains a generator matrix G for encoding. The generator matrix G is a target parity check matrix H of the Hamming code for encoding. DE In some exemplary embodiments, the target parity check matrix H DE is the target function h(S 0,i ,S 1,i ,S 2,i ) is determined based on the target function h(S 0,i ,S 1,i ,S 2,i ) is one of a set of predefined functions, and the target parity-check matrix H DE is used to determine the expanded non-all-zero row vector D based on
[0081] The default set of functions is the target parity-check matrix H DE In some exemplary embodiments, the target function h(S 0,i ,S 1,i ,S 2,i ) are the first three elements S of the column vector corresponding to the non-all-zero row vector D. 0,i , S 1,i , and S 2,i For example, the set of predefined functions may include one or more of the following:
number
[0082] In some exemplary embodiments, the specified code length of the Hamming code is 180, the length of the information bits to be transmitted is 170, all elements in the 9th row of the target parity check matrix are 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 8,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i as a non-all-zero row vector D The elements of the column vector S corresponding to 8,i where i is an integer greater than or equal to 0 and less than 180,
number
[0083] In some other exemplary embodiments, the specified code length of the Hamming code is 128, and the length of the information bits to be transmitted is 119. In this embodiment, the target parity check matrix H DE All elements S in the 8th row of 8,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S0,i ∧S 2,i , and ,S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector D, 7,i where i is an integer greater than or equal to 0 and less than 128,
number
[0084] In yet another embodiment, the specific code length of the Hamming code is 64 and the information bit length is 56. In this embodiment, the target parity check matrix H DE All elements S in the seventh row of 7,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector D,6,i where i is an integer greater than or equal to 0 and less than 64,
number
[0085] In some exemplary embodiments, the generator matrix G is determined by using a system check matrix, which may be, for example, a target parity check matrix H, as described in the aforementioned Hamming code generation method provided in embodiments of the present disclosure. DE is obtained by converting
[0086] Target parity check matrix H DE In one exemplary implementation for determining a plurality of candidate parity-check matrices H j is a set of multiple candidate functions h j The non-singular matrix may be determined based on a plurality of candidate parity-check matrices H j to obtain a first candidate parity check matrix set. The first candidate parity check matrix set is then transformed into a second candidate parity check matrix set in a systematic format. An associated third parameter may be determined for each candidate parity check matrix in the second candidate parity check matrix set. For example, the third parameter may indicate the encoding complexity of a Hamming code. A first group of candidate parity check matrices may be selected from the first candidate parity check matrix set based on the third parameter. Then, a target parity check matrix H DE can be determined from the first group of candidate parity-check matrices.
[0087] In some exemplary embodiments, the target parity check matrix H DE may be further determined from the first group of candidate parity-check matrices based on a fourth parameter indicating the amount of minimum code weight of the Hamming code. Specifically, an associated fourth parameter may be determined for each candidate parity-check matrix in the first group of candidate parity-check matrices, and the fourth parameter may indicate the amount of minimum code weight of the Hamming code corresponding to each candidate parity-check matrix in the first group of candidate parity-check matrices. A second group of candidate parity-check matrices may be selected from the first group of candidate parity-check matrices based on the determined fourth parameter. Then, a target parity-check matrix H DE can be determined from a second group of candidate parity-check matrices.
[0088] Target parity check matrix H DE In another exemplary implementation of determining the target parity check matrix H, after the second set of candidate parity check matrices is obtained in a systematic manner, a fourth parameter associated with each candidate parity check matrix in the second set of candidate parity check matrices may be determined. For example, the fourth parameter may indicate the amount of minimum code weight of the Hamming code corresponding to each candidate parity check matrix in the second set of candidate parity check matrices. A first group of candidate parity check matrices may be selected from the first set of candidate parity check matrices based on the fourth parameter. For example, the candidate parity check matrix corresponding to the Hamming code having the minimum amount of minimum code weight may be selected as the first group of candidate parity check matrices. Then, the target parity check matrix H DE can be determined from the first group of candidate parity-check matrices.
[0089] In some exemplary embodiments, the target parity check matrix H DEmay be further determined from the first group of candidate parity-check matrices based on a third parameter indicating the encoding complexity of the Hamming code. Specifically, an associated third parameter may be determined for each candidate parity-check matrix in the first group of candidate parity-check matrices. For example, the third parameter may indicate the encoding complexity of the Hamming code. Then, a second group of candidate parity-check matrices may be selected from the first group of candidate parity-check matrices based on the determined third parameter. For example, the second group of candidate parity-check matrices has a third parameter that is less than a predetermined threshold. Additionally or alternatively, a candidate parity-check matrix having the lowest encoding complexity may be selected as the second group of candidate parity-check matrices. Then, the target parity-check matrix H DE can be determined from a second group of candidate parity-check matrices.
[0090] Target parity check matrix H DE In one exemplary implementation for determining the function h from the second group of candidate parity-check matrices, the function h corresponds to each candidate parity-check matrix in the second group of candidate parity-check matrices in the function set. j The manipulated variables of the function h can also be determined. j The negate operator in
number
[0091] In some exemplary embodiments, for each candidate parity check matrix in the first candidate parity check matrix set, at least some linearly independent column vectors are moved from right to left to the right end of the corresponding candidate parity check matrix, and then a basic row transformation is performed so that the right part of the corresponding candidate parity check matrix is an identity matrix, to obtain a second candidate parity check matrix set in a systematic form.
[0092] In block 202, encoding device 110 encodes the information bit sequence by using generator matrix G to obtain an encoded data stream c. For example, for an information bit sequence b, the encoded data stream corresponding to the information bit sequence is c=bG.
[0093] In block 203, encoding device 110 transmits the encoded data stream. For example, encoding device 110 may transmit the encoded data stream to decoding device 120 via channel 104.
[0094] According to this embodiment of the present invention, an encoding method is provided, in which a doubly extended Hamming code is obtained based on a conventional Hamming code, and a parity check matrix H DE But the appropriate function h j Therefore, in a particular code space, the encoding complexity O j , and the quantity A of the minimum code weight 4 of the designed double extended Hamming code. jIn addition, to reduce the encoding complexity associated with using Hamming codes, we select a target function (e.g., "negate b") that has the least amount of manipulation in the function's logical expression. - "," "and ∧," or "or ∨") can be selected.
[0095] 3 is a flowchart of a decoding method 300 according to one exemplary embodiment of the present disclosure. The method 300 may be implemented by the decoding device 120 shown in FIG. 1 and may include the channel 104 and encoding device 110 shown in FIG. 1. For ease of explanation, the method 300 will be described below with reference to FIG. 1. It should be understood that the method 300 is also applicable to other communication scenarios and other decoding devices.
[0096] In block 301, decoding device 120 receives a data stream. For example, decoding device 120 receives a data stream encoded using a Hamming code from encoding device 110 via channel 104.
[0097] In block 302, the decoding device 120 determines a target parity check matrix H of the Hamming code for decoding. DE In some exemplary embodiments, the target parity check matrix H DE is the target function h(S 0,i ,S 1,i ,S 2,i ) is determined based on the target function h(S 0,i ,S 1,i ,S 2,i ) is one of a set of predefined functions, and the target parity-check matrix H DE is used to determine the expanded non-all-zero row vector D based on
[0098] The default set of functions is the target parity-check matrix HDE In some exemplary embodiments, the target function h(S 0,i ,S 1,i ,S 2,i ) are the first three elements S of the column vector corresponding to the non-all-zero row vector D. 0,i , S 1,i , S 2,i For example, the set of predefined functions may include one or more of the following:
number
[0099] In some exemplary embodiments, the specified code length of the Hamming code is 180; Received The length of the information bits is 170, all elements in the 9th row of the target parity-check matrix are 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 8,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i As a result, the elements of the column vector S corresponding to the non-all-zero row vector 8,i where i is an integer greater than or equal to 0 and less than 180,
number
[0100] In some other exemplary embodiments, the specified code length of the Hamming code is 128, and Received The length of the information bits is 119. In this embodiment, the target parity check matrix H DE All elements S in the 8th row of 8,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S 7,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector D, 7,i where i is an integer greater than or equal to 0 and less than 128,
number
[0101] In yet another embodiment, the specific code length of the Hamming code is 64 and the information bit length is 56. In this embodiment, the target parity check matrix H DE All elements S in the seventh row of 7,i is 1, and the target function h(S 0,i ,S 1,i ,S 2,i ) is S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 1,i , S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 0,i ∧S 2,i , and ,S 6,i =h(S 0,i ,S 1,i ,S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector D, 6,i where i is an integer greater than or equal to 0 and less than 64,
number
[0102] In some exemplary embodiments, the generator matrix G is determined by using a system check matrix, which may be, for example, a target parity check matrix H, as described in the aforementioned Hamming code generation method provided in embodiments of the present disclosure. DE is obtained by converting
[0103] Target parity check matrix H DE In one exemplary implementation for determining a plurality of candidate parity-check matrices H j is a set of multiple candidate functions h j The non-singular matrix may be determined based on a plurality of candidate parity-check matrices H j to obtain a first candidate parity check matrix set. The first candidate parity check matrix set is then transformed into a second candidate parity check matrix set in a systematic format. An associated third parameter may be determined for each candidate parity check matrix in the second candidate parity check matrix set. For example, the third parameter may indicate the encoding complexity of a Hamming code. A first group of candidate parity check matrices may be selected from the first candidate parity check matrix set based on the third parameter. Then, a target parity check matrix H DE can be determined from the first group of candidate parity-check matrices.
[0104] In some exemplary embodiments, the target parity check matrix H DE may be further determined from the first group of candidate parity-check matrices based on a fourth parameter indicating the amount of minimum code weight of the Hamming code. Specifically, an associated fourth parameter may be determined for each candidate parity-check matrix in the first group of candidate parity-check matrices, and the fourth parameter may indicate the amount of minimum code weight of the Hamming code corresponding to each candidate parity-check matrix in the first group of candidate parity-check matrices. A second group of candidate parity-check matrices may be selected from the first group of candidate parity-check matrices based on the determined fourth parameter. Then, a target parity-check matrix H DE can be determined from a second group of candidate parity-check matrices.
[0105] Target parity check matrix H DEIn another exemplary implementation of determining the target parity check matrix H, after the second set of candidate parity check matrices is obtained in a systematic manner, a fourth parameter associated with each candidate parity check matrix in the second set of candidate parity check matrices may be determined. For example, the fourth parameter may indicate the amount of minimum code weight of the Hamming code corresponding to each candidate parity check matrix in the second set of candidate parity check matrices. A first group of candidate parity check matrices may be selected from the first set of candidate parity check matrices based on the fourth parameter. For example, the candidate parity check matrix corresponding to the Hamming code having the minimum amount of minimum code weight may be selected as the first group of candidate parity check matrices. Then, the target parity check matrix H DE can be determined from the first group of candidate parity-check matrices.
[0106] In some exemplary embodiments, the target parity check matrix H DE may be further determined from the first group of candidate parity-check matrices based on a third parameter indicating the encoding complexity of the Hamming code. Specifically, an associated third parameter may be determined for each candidate parity-check matrix in the first group of candidate parity-check matrices. For example, the third parameter may indicate the encoding complexity of the Hamming code. Then, a second group of candidate parity-check matrices may be selected from the first group of candidate parity-check matrices based on the determined third parameter. For example, the second group of candidate parity-check matrices has a third parameter that is less than a predetermined threshold. Additionally or alternatively, a candidate parity-check matrix having the lowest encoding complexity may be selected as the second group of candidate parity-check matrices. Then, the target parity-check matrix H DE can be determined from a second group of candidate parity-check matrices.
[0107] Target parity check matrix H DEIn one exemplary implementation for determining the function h from the second group of candidate parity-check matrices, the function h corresponds to each candidate parity-check matrix in the second group of candidate parity-check matrices in the function set. j The manipulated variables of the function h can also be determined. j The operator "negate b - The total number of "," "and ∧," and "or ∨." Then, based on the determined manipulation amount, the target parity check matrix H DE For example, the target function h with the minimum manipulation amount is determined. j is the target function h(S 0,i ,S 1,i ,S 2,i ), and the target parity check matrix H DE The parity check matrix H corresponding to DE,j is the target parity check matrix H DE is determined as follows.
[0108] In some exemplary embodiments, for each candidate parity check matrix in the first candidate parity check matrix set, at least some linearly independent column vectors are moved from right to left to the right end of the corresponding candidate parity check matrix, and then a basic row transformation is performed so that the right part of the corresponding candidate parity check matrix is an identity matrix, to obtain a second candidate parity check matrix set in a systematic form.
[0109] In block 303, the decoding device 120 calculates the target parity check matrix H DE In this way, the decoding device 120 can obtain the original information bits transmitted by the transmitting end.
[0110] In some exemplary embodiments, decoding device 120 may be configured to decode a target parity-check matrix H DEA syndrome may be calculated for the data based on the syndrome. If the syndrome is zero, at least some bits of the data stream may be output as decoded information bits. Otherwise, if the syndrome is not zero, it is determined whether a first column vector equal to the syndrome exists in the target parity check matrix. If a first column vector equal to the syndrome exists in the target parity check matrix, bits in the data stream corresponding to the first column vector are flipped, and at least some bits of the flipped data stream are output as decoded information bits.
[0111] According to one exemplary embodiment of the present disclosure, a decoding method is provided, which is based on a conventional Hamming code and uses a double-extended Hamming code. The parity check matrix H of the Hamming code is DE is complexity O j , the minimum code weight amount A j , and the operation amount of the logical expression of the function (e.g., "negate b - "," "and ∧," "or ∨"), and using a simpler target function selected from a predefined set of functions. By using the designed double extended Hamming code in this way, in a specific code space, the same data stream can be generated at the transmitting end and can achieve lower decoding complexity at the receiving end, thereby improving the performance of the communication system and further reducing the bit error rate.
[0112] While the steps of the foregoing methods 200 and 300 are described in a particular order, that order is for illustration only, instead of limitation. Unless explicitly stated, it should be understood that such processes need to be completed in the particular order shown or in sequential order. In some cases, multitasking or parallel processing is advantageous. Additionally, methods 200 and 300 may further include additional operations not shown, and / or one or more shown operations may be omitted.
[0113] The following describes several exemplary embodiments of the present disclosure.
[0114] First embodiment In the first embodiment of the present disclosure, an improved Hamming code (DE-Hamming) (180, 170) is provided. The code length is 180, and the length of the information bits to be transmitted is 170. The Hamming code (DE-Hamming) according to the present invention can be obtained based on the conventional Hamming code (DE-Hamming), and then performs double extension, i.e., m=8 and q=76. The decoding is performed in a finite field GF(2 8 ) can be considered to be performed based on the target parity check matrix H of the Hamming code (DE-Hamming) according to the present disclosure. DE is in the form of equation (2).
[0115] In this embodiment, the parity check matrix H of the shortened Hamming code (179,171) is 8x179 in size, where 1 is an all-ones row vector of length 180, 0 is an all-zero column vector of length 1, and the target parity check matrix H DE The length of the non-all-zero row vector D of is 18. According to equation (3), we obtain:
number
[0116] where i is an integer greater than or equal to 0 and less than 180,
number
[0117] According to Equation (6) and Tables 1 to 4, the following candidate parity-check matrix H j can be determined, where 0 <j≦162である。 Obtained.
number
[0118] A non-singular matrix is a set of multiple candidate parity-check matrices H jto obtain a first candidate parity-check matrix set. Furthermore, the first candidate parity-check matrix set is transformed into a second candidate parity-check matrix set in a systematic format according to Equation (7). Specifically, in this embodiment, 10 linearly independent column vectors are selected from the candidate parity-check matrix H j and moved to the right end of the matrix, where H R is a 10x10 matrix formed by 10 linearly independent column vectors, and H L is the candidate parity-check matrix H j From H R is the 10x170 matrix obtained after is removed.
[0119] Furthermore, according to equation (8), the system check matrix H sys,j can be obtained through elementary row transformation, where I is a 10x10 identity matrix and the matrix P = (H R ) -1 H L has a size of 10x170.
[0120] Generator matrix G with size 170x180 j can be determined according to equation (9).
[0121] The 162 functions h shown in Tables 1 to 4 j , the corresponding candidate parity check matrix H j are obtained according to equations (4) and (5), respectively. The 162 candidate parity-check matrices H j It can be determined that 14 of the 148 non-singular matrices H j For , 8 linearly independent column vectors are selected from right to left and then moved to the right end of the matrix through the transformation according to equation (7) to form the candidate parity-check matrix H DE,j Win the first group of.
[0122] Candidate parity check matrix H DE,jFrom the first group of j , and a fourth parameter A indicating the amount of minimum code weight 4 j Based on the target parity check matrix H DE is selected, and the target function h(S 0,i ,S 1,i ,S 2,i ) can be selected. Table 5 shows the candidate functions h for this embodiment. j , and the manipulated variables corresponding to the candidate functions
number
[0123] From Table 5, according to the first embodiment, the encoding complexity of the Hamming code is j = 706, and the quantity of the minimum code weight 4 is A j It can be determined that .times. ...
[0124] Furthermore, a less complex function can be used to calculate the manipulated variable H shown in Table 5. j In this embodiment, h can be selected from 12 candidate functions h based on 33 =S 0,i ∧S 1,i The complexity of the function is H 33 = 1 and is the lowest among the 12 candidate functions h, and the complexity of the shortened doubly extended Hamming code corresponding to this function is lower.
[0125] FIG. 4 is a diagram of the performance of a double extended Hamming code (180, 170) and a conventional extended Hamming code (180, 170) according to one exemplary embodiment of the present disclosure. Here, the double extended Hamming code (DE-Hamming) (180, 170) uses maximum a posteriori decoding (MAP). In this example, the conventional extended Hamming code (eHamming) (180, 170) is shortened by 332 bits and performs a single-bit extension based on the conventional Hamming code (Hamming) (511, 502). Decoding for the conventional extended Hamming code is performed over the finite field GF(2 9 ) is implemented based on the Hamming code (DE-Hamming) (180, 170) according to the present disclosure. As shown in FIG. 4, the Hamming code (DE-Hamming) (180, 170) according to the present disclosure has better performance than the conventional extended Hamming code (eHamming) (180, 170). In addition, hard-decision decoding of the double extended Hamming code (DE-Hamming) (180, 170) according to the present disclosure is possible in the finite field GF(2 8 ), whereas hard-decision decoding of conventional extended Hamming codes (eHamming) is based on the finite field GF(2 9 ) Therefore, the decoding complexity of the double extended Hamming code (DE-Hamming) (180,170) provided in this disclosure is lower than that of the conventional extended Hamming code (180,170).
[0126] A conventional extended Hamming code (180,170) uses the function shown in equation (12).
number
[0127] The encoding complexity of the conventional extended Hamming code (180, 170) is 748, and the quantity of the minimum code weight 4 is 107749. The encoding complexity of the double extended Hamming code (DE-Hamming) (180, 170) provided in the present disclosure is 706, and the quantity of the minimum code weight 4 is 107660, both of which are better than the conventional extended Hamming code (180, 170). In addition, in the first embodiment, the functional formula S 8,i =h 33 =S 0,i ∧S 1,i is simpler than Equation (12). Therefore, the functional complexity of the double extended Hamming code (DE-Hamming) provided in this disclosure is also lower.
[0128] Second embodiment In the second embodiment of the present disclosure, an improved Hamming code (DE-Hamming) (128, 119) is provided. The code length is 128, and the length of the information bits to be transmitted is 119, m=7, and q=0. The Hamming code (DE-Hamming) (128, 119) according to the present invention can be obtained by performing a double extension based on the conventional Hamming code (DE-Hamming) (127, 120), i.e., performing m=7 and q=0. The decoding is performed in the finite field GF(2 7 ) can be considered to be performed based on the target parity check matrix H of the Hamming code (DE-Hamming) (128,119) according to the present disclosure. DE is in the form of equation (2).
[0129] In this embodiment, the size of the parity check matrix H of the conventional Hamming code (127,120) is 8×179, where 1 is an all-ones row vector of length 128, 0 is an all-zero column vector of length 7, and the target parity check matrix H DE The length of the non-all-zero row vector D of is 128. According to equation (3), we obtain:
number
[0130] where i is an integer greater than or equal to 0 and less than 180,
number
[0131] According to Equation (5) and Tables 1 to 4, the following candidate parity-check matrix H j can be determined, where 0 <j≦162である。 Obtained.
number
[0132] A non-singular matrix is a set of multiple candidate parity-check matrices H j to obtain a first candidate parity-check matrix set. Furthermore, the first candidate parity-check matrix set is transformed into a second candidate parity-check matrix set in a systematic format according to Equation (7). Specifically, in this embodiment, nine linearly independent column vectors are selected from the candidate parity-check matrix H j and moved to the right end of the matrix, where H R is a 9x9 matrix formed by nine linearly independent column vectors, and H L is the candidate parity-check matrix H j From H R is the 9x128 matrix obtained after is removed.
[0133] Furthermore, according to equation (8), the system check matrix H sys,j can be obtained through elementary row transformation, where I is a 9x9 identity matrix and the matrix P=(H R ) -1 H L has a size of 9x119.
[0134] Generator matrix G with size 119x128 j can be determined according to equation (9).
[0135] Candidate parity check matrix H DE,j For the first group of functions h shown in Tables 1 to 4, j , the corresponding candidate parity check matrix H j are obtained according to equations (4) and (5), respectively. The 162 candidate parity-check matrices H j It can be determined that 14 of the 148 non-singular matrices H jFor , 9 linearly independent column vectors are selected from right to left and then moved to the right end of the matrix through the transformation according to equation (7) to form the candidate parity-check matrix H DE,j Win the first group of.
[0136] The third parameter O indicates the encoding complexity. j , and a fourth parameter A indicating the amount of minimum code weight 4 j Based on the target parity check matrix H DE is selected, and the target function h(S 0,i ,S 1,i ,S 2,i ) can be selected. Table 6 shows the candidate functions h j , and the manipulated variable H corresponding to the candidate function j The logical formula is shown below. [Table 6] TIFF0007746401000040.tif126170
[0137] From Table 6, according to the second embodiment, the encoding complexity of the Hamming code is j = 471, and the quantity of the minimum code weight 4 is A j It can be determined that .times. ...
[0138] Furthermore, a less complex function can be used to calculate the manipulated variable H shown in Table 6. j In this embodiment, S 7,i =h 33 =S 0,i ∧S 1,i , S 7,i =h 35 =S 0,i ∧S 2,i , and ,S 7,i =h 36 =S 1,i ∧S 2,iThe complexity of the function h is 1. The three functions are the lowest among the 36 candidate functions h, and the complexity of the shortened double extended Hamming codes corresponding to the three functions is lower.
[0139] In particular, S 7,i =h 36 =S 1,i ∧S 2,i In the case of , it can be determined according to equation (5) as follows:
number
[0140] Here, g(a):g(b) indicates [g(a), g(a+1), g(a+2), ..., g(b)].
[0141] The generator matrix G may be determined according to equations (9) and (16).
number
[0142] Here,
number
[0143] The present disclosure No. 2 In an embodiment, the corresponding parity check matrix H of the Hamming code in this embodiment is DE,36 is the Hamming code (DE-Hamming) (128,119) defined in the OIF-400ZR standard. OIF However, the systematic parity check matrix H DE,36 , and the Hamming code generator matrix G j Both are Hamming codes (DE-Hamming) (128,119) defined in the OIF-400ZR standard. OIF In other words, the two double extended Hamming codes (128,119) and (128,119) OIFThrough encoding based on S, the same codewords are obtained. In other words, the data stream output from the transmitting end is consistent. The Doubly Extended Hamming Code (DE-Hamming) according to the present disclosure can be encoded at the receiving end with a lower function complexity S 7,i =h 36 =S 1,i ∧S 2,i It has the following characteristics.
[0144] Third Example In the third embodiment of the present disclosure, an improved Hamming code (DE-Hamming) (64,56) is provided. The code length is 64, and the length of the information bits to be transmitted is 56. The Hamming code (DE-Hamming) (64,56) can be obtained by performing a double extension based on the conventional Hamming code (DE-Hamming) (63,57), i.e., m=6 and q=0. The decoding is performed in the finite field GF(2 6 ) can be considered to be performed based on the target parity check matrix H of the Hamming code (DE-Hamming) according to the present disclosure. DE is in the form of equation (2).
[0145] In this embodiment, the size of the parity check matrix H of the conventional Hamming code (63,57) is 6×63, where 1 is an all-ones row vector of length 64, 0 is an all-zero column vector of length 6, and the target parity check matrix H DE The length of the non-all-zero row vector D of is 64. According to equation (3), we obtain:
number
[0146] where i is an integer greater than or equal to 0 and less than 64,
number
[0147] According to Equation (5) and Tables 1 to 4, the following candidate parity-check matrix H j can be determined, where 0 <j≦162である。 Obtained.
number
[0148] A non-singular matrix is a set of multiple candidate parity-check matrices H jto obtain a first candidate parity-check matrix set. Furthermore, the first candidate parity-check matrix set is transformed into a second candidate parity-check matrix set in a systematic format according to Equation (7). Specifically, in this embodiment, eight linearly independent column vectors are selected from the candidate parity-check matrix H j and moved to the right end of the matrix, where H R is an 8x8 matrix formed by eight linearly independent column vectors, and H L is the candidate parity-check matrix H j From H R is the 8x56 matrix obtained after is removed.
[0149] Furthermore, according to equation (7), the system check matrix H sys,j can be obtained through elementary row transformation, where I is an 8x8 identity matrix and the matrix P=(H R ) -1 H L has a size of 8x56.
[0150] Generator matrix G with size 56x64 j can be determined according to equation (9).
[0151] The 162 functions h shown in Tables 1 to 4 j , the corresponding candidate parity check matrix H j are obtained according to equations (4) and (5), respectively. The 162 candidate parity-check matrices H j It can be determined that 14 of the 148 non-singular matrices H j For , 8 linearly independent column vectors are selected from right to left and then moved to the right end of the matrix through the transformation according to equation (7) to form the candidate parity-check matrix H DE,j Win the first group of.
[0152] Candidate parity check matrix H DE,jFor the first group of j , and a fourth parameter A indicating the amount of minimum code weight 4 j Based on the target parity check matrix H DE is selected, and the target function h(S 0,i ,S 1,i ,S 2,i ) can be selected. Table 7 shows the candidate functions h for this embodiment. j , and the manipulated variable H corresponding to the candidate function j The logical formula is shown below. [Table 7] TIFF0007746401000048.tif161170 TIFF0007746401000049.tif123170
[0153] From Table 7, according to the third embodiment, the encoding complexity of the Hamming code is j = 200, and the amount of minimum code weight 4 is A j It can be determined that =6320.
[0154] Furthermore, a less complex function can be used to calculate the manipulated variable H shown in Table 7. j In this embodiment, S 6,i =h 33 =S 0,i ∧S 1,i , S 6,i =h 35 =S 0,i ∧S 2,i , and ,S 6,i =h 36 =S 1,i ∧S 2,i The complexity of the function h is 1. The three functions are the lowest among the 36 candidate functions h, and the complexity of the shortened double extended Hamming codes corresponding to the three functions is lower.
[0155] Fourth embodiment In the fourth embodiment of the present disclosure, a shortened double extended Hamming code (DE-Hamming) (2 m -q,2 m −2−mq), where m is a given value. As shown in equation (19), shortening bits of length q are selected to implement different code redundancies OH, where 0≦q<(2 m -1) / 2.
number
[0156] The code length is n=2 m -q, and the information length is k=2 m -2-mq.
[0157] In Tables 8 and 9, the target function h for the shortened doubly extended Hamming code provided in this disclosure is j are listed for m=8 and different qs, and for m=7 and different qs. [Table 8] TIFF0007746401000052.tif170170 TIFF0007746401000053.tif170170 TIFF0007746401000054.tif107170 [Table 9] TIFF0007746401000056.tif149170
[0158] According to a fourth embodiment of the present invention, an improved double-extended Hamming code is provided. The target parity-check matrix of the improved double-extended Hamming code is obtained based on a target function with a smaller manipulation amount selected from a predetermined function set, so that such an extended Hamming code can adapt to various code length and information bit length configurations. The double-extended Hamming code according to the present disclosure can provide low encoding and decoding complexity in a specified code space, reduce the bit error rate of a communication system, and maintain redundancy within an appropriate range, thereby providing optimized Hamming code performance.
[0159] 5 is a block diagram of a device 500 capable of implementing some embodiments of the present disclosure. The device 500 may be used to implement the encoding device 110 and the decoding device 120 shown in FIG. 1. It should be understood that the device 500 is used merely as an example and does not imply any limitation on the scope of the present disclosure. The embodiments of the present disclosure may also be embodied in different devices. It should be further understood that the device 500 may further include other elements or entities not shown for ease of explanation, but this does not mean that the embodiments of the present disclosure do not have these elements or entities.
[0160] As shown in FIG. 5, device 500 includes a processor 510. Processor 510 controls the operation and functionality of device 500. For example, in some exemplary embodiments, processor 510 may perform various operations by using instructions 530 stored in memory 520 coupled to processor 510. Memory 520 may be of any suitable type applicable to the local technology environment and may be implemented using any suitable data storage technology, including, but not limited to, semiconductor-based storage devices, magnetic storage devices and systems, and optical storage devices and systems. Although only one memory unit is shown in FIG. 5, multiple physically distinct memory units may be present within device 500.
[0161] The processor 510 may be of any suitable type applicable to the local technology environment and may include, but is not limited to, one or more of a general-purpose computer, a special-purpose computer, a microcontroller, a digital signal processor (DSP), and a controller-based multi-core controller architecture. The device 500 may also include multiple processors 510. The processor 510 is coupled to a communication unit 540. The communication unit 540 may receive and transmit information by using wireless signals or through optical fibers, cables, and / or other components.
[0162] When the device 500 acts as the encoding device 110 or the decoding device 120, the processor 510 can execute instructions to perform the operations and actions described above with reference to Figures 2 and 3. All features described above with reference to Figures 2 and 3 are applicable to the device 500. The details will not be described again here.
[0163] In general, various exemplary embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic, or any combination thereof. Some aspects may be implemented in hardware. Other aspects may be implemented in firmware or software that can be executed by a controller, microprocessor, or another computing device. When aspects of the exemplary embodiments of the present disclosure are shown or described as block diagrams, flowcharts, or represented using some other graphs, it will be understood that the blocks, apparatus, systems, techniques, or methods described herein can be implemented, as non-limiting examples, in hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller, another computing device, or some combination thereof.
[0164] For example, exemplary embodiments of the present disclosure may be described in the context of machine-executable instructions or computer-executable instructions. Machine-executable instructions are included in program modules that execute, for example, within a device on a target real or virtual processor. Generally, program modules include routines, programs, libraries, objects, types, components, data structures, etc., and perform particular tasks or implement particular abstract data structures. In various exemplary embodiments, the functionality of the program modules may be combined or divided among the illustrated program modules. Machine-executable instructions used in program modules may be executed locally or in distributed devices. In distributed devices, program modules may be located in both local and remote storage media.
[0165] The computer program code used to implement the methods disclosed in this disclosure may be written in one or more programming languages. The computer program code may be provided to a processor of a general-purpose computer, a special-purpose computer, or another programmable data processing apparatus. In this way, when the program code is executed by a computer or another programmable data processing apparatus, the functions / acts specified in the flowcharts and / or block diagrams are performed. The program code may be executed entirely on the computer, partially on the computer, as a separate software package, partially on the computer, partially on a remote computer, or entirely on a remote computer or server.
[0166] In the context of this disclosure, a machine-readable medium or computer-readable medium may be any tangible medium used for, or containing or storing an associated program in, an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of a machine-readable storage medium include an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0167] Additionally, while acts are described in a particular order, this should not be construed as requiring such acts to be completed in the particular order shown, or in any sequential order, or as requiring execution of all of the depicted acts to achieve desired results. In some cases, multitasking or parallel processing may be advantageous. Similarly, while the above description includes some specific implementation details, this should not be construed as limiting the scope of any invention or claims, but rather as a description of particular exemplary embodiments that may be specific for particular inventions. Some features described herein in the context of separate exemplary embodiments may alternatively be combined into a single exemplary embodiment. Alternatively, various features described in the context of a single exemplary embodiment may be implemented separately in multiple exemplary embodiments or in any suitable subcombination.
[0168] Although subject matter has been described in language specific to structural features and / or methodological actions, it is to be understood that the subject matter defined in the appended claims is not limited to the specific features or actions described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. 1. An encoding method comprising: obtaining a generator matrix for encoding; the generator matrix is determined based on a target parity check matrix of a Hamming code for encoding; the target parity check matrix is determined based on a target function for decoding; The target function is used to determine a non-all-zero row vector; and the target function is one of a set of predefined functions; Steps and encoding information bits by using the generator matrix; Obtaining the encoded data stream; Steps and transmitting the encoded data stream; Including, The code length of the Hamming code is 180, The length of the information bits is 170; All elements in the 10th row of the target parity-check matrix are 1, and The target function is a function h(S 0,i , S 1,i , S 2,i ) and S 8,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 1,i As a result, the element S of the column vector corresponding to the non-zero row vector 8,i Determine where i is an integer greater than or equal to 0 and less than 180, [Equation 1] and S 8,i , S 7,i , S 6,i , S 5,i , S 4,i , S 3,i , S 2,i , S 1,i , and S 0,i are the elements of a column vector corresponding to the row vectors of the target parity check matrix, respectively. method.
2. 1. An encoding method comprising: obtaining a generator matrix for encoding; the generator matrix is determined based on a target parity check matrix of a Hamming code for encoding; the target parity check matrix is determined based on a target function for decoding; The target function is used to determine a non-all-zero row vector; and the target function is one of a set of predefined functions; Steps and encoding information bits by using the generator matrix; Obtaining the encoded data stream; Steps and transmitting the encoded data stream; Including, The code length of the Hamming code is 128, The length of the information bits is 119; All elements in the eighth row of the target parity-check matrix are 1, and The target function is a function h(S 0,i , S 1,i , S 2,i ) and S 7,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 1,i , S 7,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 2,i , and ,S 7,i =h(S 0,i , S 1,i , S 2,i )=S 1,i ∧S 2,i element S of the column vector corresponding to the non-all-zero row vector as one of 7,i Determine where i is an integer greater than or equal to 0 and less than 128, [Equation 2] and S 7,i , S 6,i , S 5,i , S 4,i , S 3,i , S 2,i , S 1,i , and S 0,i are the elements of a column vector corresponding to the row vectors of the target parity check matrix, respectively. method.
3. 1. An encoding method comprising: obtaining a generator matrix for encoding; the generator matrix is determined based on a target parity check matrix of a Hamming code for encoding; the target parity check matrix is determined based on a target function for decoding; The target function is used to determine a non-all-zero row vector; and the target function is one of a set of predefined functions; Steps and encoding information bits by using the generator matrix; Obtaining the encoded data stream; Steps and transmitting the encoded data stream; Including, The code length of the Hamming code is 64, The length of the information bits is 56; All elements in the seventh row of the target parity-check matrix are 1, and The target function is a function h(S 0,i , S 1,i , S 2,i ) and S 6,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 1,i , S 6,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 2,i , and ,S 6,i =h(S 0,i , S 1,i , S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector, 6,i Determine where i is an integer greater than or equal to 0 and less than 64, [Equation 3] and S 6,i , S 5,i , S 4,i , S 3,i , S 2,i , S 1,i , and S 0,i are the elements of a column vector corresponding to the row vectors of the target parity check matrix, respectively. method.
4. The generator matrix is determined based on a system check matrix; and the system check matrix is obtained by transforming the target parity check matrix; 4. The method according to any one of claims 1 to 3.
5. the predetermined function set includes a plurality of candidate functions for determining the expanded non-all-zero row vector based on the target parity check matrix; 4. The method according to any one of claims 1 to 3.
6. The target parity check matrix is determining a plurality of candidate parity-check matrices based on the plurality of candidate functions; selecting a non-singular matrix from the plurality of candidate parity-check matrices; Obtain a first candidate set of parity check matrices; Steps and converting the first set of candidate parity-check matrices into a second set of candidate parity-check matrices in a systematic format; determining a third parameter associated with each candidate parity-check matrix in the second set of candidate parity-check matrices; the third parameter indicates the encoding complexity of the Hamming code; Steps and selecting a first group of candidate parity-check matrices from the first set of candidate parity-check matrices based on the third parameter; determining the target parity-check matrix from the first group of candidate parity-check matrices; is determined by The method of claim 5.
7. The target parity check matrix is determining a fourth parameter associated with each candidate parity-check matrix in the first group of candidate parity-check matrices; the fourth parameter indicates an amount of minimum code weight of the Hamming code corresponding to each candidate parity-check matrix in the first group of candidate parity-check matrices; Steps and selecting a second group of candidate parity-check matrices from the first group of candidate parity-check matrices based on the fourth parameter; determining the target parity-check matrix from the second group of candidate parity-check matrices; from the first group of candidate parity-check matrices by The method of claim 6.
8. The target parity check matrix is determining a plurality of candidate parity-check matrices based on the plurality of candidate functions; selecting a non-singular matrix from the plurality of candidate parity-check matrices; Obtain a first candidate set of parity check matrices; Steps and converting the first set of candidate parity-check matrices into a second set of candidate parity-check matrices in a systematic format; determining a fourth parameter associated with each candidate parity-check matrix in the second set of candidate parity-check matrices; the fourth parameter indicates an amount of minimum code weight of the Hamming code corresponding to each candidate parity-check matrix in the second set of candidate parity-check matrices; Steps and selecting a first group of candidate parity-check matrices from the first set of candidate parity-check matrices based on the fourth parameter; determining the target parity-check matrix from the first group of candidate parity-check matrices; is determined by The method of claim 5.
9. The target parity check matrix is determining a third parameter associated with each candidate parity-check matrix in the first group of candidate parity-check matrices; the third parameter indicates the encoding complexity of the Hamming code; Steps and selecting a second group of candidate parity-check matrices from the first group of candidate parity-check matrices; a second group of candidate parity-check matrices having the third parameter less than a predetermined threshold; Steps and determining the target parity-check matrix from the second group of candidate parity-check matrices; from the first group of candidate parity-check matrices by The method of claim 8.
10. The second set of candidate parity-check matrices in the systematic format is For each candidate parity-check matrix in the first set of candidate parity-check matrices: moving at least some of the linearly independent column vectors from right to left to the right edge of a corresponding candidate parity-check matrix; performing an elementary row transformation such that the right part of the corresponding candidate parity-check matrix is an identity matrix; By, obtained through transformation, 9. The method according to claim 6 or 8.
11. The target parity check matrix is determining a manipulated variable of a function corresponding to each candidate parity-check matrix in the second group of candidate parity-check matrices in the set of functions; determining the target parity-check matrix based on the manipulated variable; from the second group of candidate parity-check matrices by 10. The method of claim 7 or 9.
12. A decoding method, receiving a data stream; obtaining a target parity-check matrix of the Hamming code for decoding; the target parity check matrix is determined based on a target function for decoding; The target function is used to determine a non-all-zero row vector; and the target function is one of a set of predefined functions; Steps and decoding the data stream using the target parity check matrix; Including, The code length of the Hamming code is 180, The length of the information bits is 170, All elements in the 10th row of the target parity-check matrix are 1, and The target function is a function h(S 0,i , S 1,i , S 2,i ) and S 8,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 1,i As a result, the element S of the column vector corresponding to the non-zero row vector 8,i Determine [Equation 4] where i is an integer greater than or equal to 0 and less than 180; S 8,i , S 7,i , S 6,i , S 5,i , S 4,i , S 3,i , S 2,i , S 1,i , and S 0,i are the elements of a column vector corresponding to the row vectors of the target parity check matrix, respectively. method.
13. A decoding method, receiving a data stream; obtaining a target parity-check matrix of the Hamming code for decoding; the target parity check matrix is determined based on a target function for decoding; The target function is used to determine a non-all-zero row vector; and the target function is one of a set of predefined functions; Steps and decoding the data stream using the target parity check matrix; Including, The code length of the Hamming code is 128, The length of the information bits is 119, All elements in the eighth row of the target parity-check matrix are 1, and The target function is a function h(S 0,i , S 1,i , S 2,i ) and S 7,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 1,i , S 7,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 2,i , and ,S 7,i =h(S 0,i , S 1,i , S 2,i )=S 1,i ∧S 2,i element S of the column vector corresponding to the non-all-zero row vector as one of 7,i Determine where i is an integer greater than or equal to 0 and less than 128, [Equation 5] and S 7,i , S 6,i , S 5,i , S 4,i , S 3,i , S 2,i , S 1,i , and S 0,i are the elements of a column vector corresponding to the row vectors of the target parity check matrix, respectively. method.
14. A decoding method, receiving a data stream; obtaining a target parity-check matrix of the Hamming code for decoding; the target parity check matrix is determined based on a target function for decoding; The target function is used to determine a non-all-zero row vector; and the target function is one of a set of predefined functions; Steps and decoding the data stream using the target parity check matrix; Including, The code length of the Hamming code is 64, The length of the information bits is 56, All elements in the seventh row of the target parity-check matrix are 1, and The target function is a function h(S 0,i , S 1,i , S 2,i ) and S 6,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 1,i , S 6,i =h(S 0,i , S 1,i , S 2,i )=S 0,i ∧S 2,i , and ,S 6,i =h(S 0,i , S 1,i , S 2,i )=S 1,i ∧S 2,i As one of the elements of the column vector S corresponding to the non-all-zero row vector, 6,i Determine where i is an integer greater than or equal to 0 and less than 64, [Equation 6] and S 6,i , S 5,i , S 4,i , S 3,i , S 2,i , S 1,i , and S 0,i are the elements of a column vector corresponding to the row vectors of the target parity check matrix, respectively. method.
15. An encoding device at least one processor; at least one memory containing data; Including, The at least one processor is configured to perform the method of any one of claims 1 to 11. Encoding device.
16. A decoding device, comprising: at least one processor; at least one memory containing data; Including, The at least one processor is configured to perform the method of any one of claims 12 to 14. Decoding device.
17. A communication system an encoding device according to claim 15; a decoding device according to claim 16; Including, the system.
Citation Information
Patent Citations
Data processing circuit
JP2016187099A