Encoding method and apparatus, decoding method and apparatus, and storage medium
By adopting the encoding method of spatially coupled low-density parity code in wireless communication, using diagonally arranged sub-basic matrix groups and upgrade values, the requirements of high data transmission rates and low delays in future mobile communications are solved, and the more Efficient data transmission and reliability.
Patent Information
- Application Number
- PCT/CN2024/086664
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-14
- Filing Date
- 2024-04-08
- Publication Date
- 2024-12-19
AI Technical Summary
Existing wireless communication technologies are difficult to meet the needs of high data transmission rates, low latency and high reliability in future mobile communications, especially in big data and delay-sensitive network environments.
Using a coding method based on spatially coupled low-density parity check code (SC-LDPC), the data is encoded and decoded, and the sub-basic matrix group and the upgrade value are used to achieve more efficient data transmission.
It improves data transmission rate and reliability, approaches Shannon's capacity limit performance, and meets the future mobile communication needs for high data rates and low latency.
Smart Images

Figure CN2024086664_19122024_PF_FP_ABST
Abstract
Description
Coding method, decoding method, device and storage medium
[0001] This disclosure claims priority to Chinese patent application No. 202310709637.7, filed on June 14, 2023, the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to an encoding method, a decoding method, a device, and a storage medium. Background Art
[0003] With the rapid development of technologies such as big data, cloud computing, and latency-sensitive networks, the number of user devices in wireless communication networks has exploded. Wireless communication networks will carry a wide variety of applications and massive amounts of data, placing high demands on data transmission rates, throughput, reliability, and latency. Furthermore, with the advancement of virtual reality / augmented reality, intelligent transportation, intelligent industrial control, and smart logistics, the demand for communications with ultra-high data rates, ultra-low latency, and ultra-high reliability is increasing. Compared to existing 5G mobile communications, the data transmission rate requirements of future mobile communication air interface standard protocols will increase by one or two orders of magnitude. Therefore, there is an urgent need for a coding method that can effectively improve data transmission efficiency.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide an encoding method, a decoding method, an apparatus, and a storage medium that can support a higher data transmission rate.
[0006] In one aspect, a coding method is provided, comprising:
[0007] Obtaining a first bit sequence to be encoded;
[0008] encoding the first bit sequence based on a fundamental matrix and a lifting value of a spatially coupled low-density parity-check (LDPC) code to obtain a second bit sequence; wherein the fundamental matrix includes L identical and diagonally arranged sub-fundamental matrix groups, each sub-fundamental matrix group includes M first sub-fundamental matrices, and L and M are both positive integers;
[0009] All or part of the bits of the second bit sequence are sent.
[0010] On the other hand, a decoding method is provided, comprising:
[0011] receiving all or part of the bits of a second bit sequence;
[0012] Based on a basic matrix and a lifting value of a spatially coupled low-density parity-check code LDPC, all or part of the bits of the second bit sequence are decoded to obtain a first bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, the sub-basic matrix groups include M first sub-basic matrices, and L and M are both positive integers.
[0013] On the other hand, an encoding device is provided, including: an acquisition module, an encoding module and a sending module.
[0014] The acquisition module is used to obtain a first bit sequence to be encoded;
[0015] The encoding module is configured to encode the first bit sequence based on a basic matrix and a lifting value of a spatially coupled low-density parity-check code (LDPC) to obtain a second bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, each sub-basic matrix group includes M first sub-basic matrices, and L and M are both positive integers;
[0016] The sending module is used to send all or part of the bits of the second bit sequence.
[0017] In another aspect, a decoding device is provided, including: a receiving module and a decoding module.
[0018] The receiving module is used to receive all or part of the bits of the second bit sequence;
[0019] The decoding module is used to decode all or part of the bits of the second bit sequence based on the basic matrix and the lifting value of the spatially coupled low-density parity-check code LDPC to obtain a first bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, the sub-basic matrix groups include M first sub-basic matrices, and L and M are both positive integers.
[0020] On the other hand, a communication device is provided, comprising: a memory and a processor; the memory and the processor are coupled; the memory is used to store a computer program; and the processor implements the encoding method or decoding method of any of the above embodiments when executing the computer program.
[0021] On the other hand, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the encoding method or decoding method of any of the above embodiments is implemented.
[0022] On the other hand, a computer program product is provided, which includes computer program instructions, and when the computer program instructions are executed by a processor, the encoding method or decoding method of any of the above embodiments is implemented.
[0023] The encoding method provided in the embodiment of the present application can encode the first bit sequence (data to be transmitted) based on the basic matrix and lifting value of spatially coupled LDPC. Due to the characteristics of spatial coupling, SC-LDPC (Spatially Coupled LDPC) codes will experience a "threshold saturation" phenomenon, which makes spatially coupled LDPC codes theoretically closer to the Shannon capacity limit performance. Therefore, using spatially coupled LDPC for coding can support the demand for higher data transmission rates. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions in the present application, the following briefly introduces the drawings required for use in some embodiments of the present application. Obviously, the drawings described below are only drawings of some embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0025] FIG1 is a schematic diagram of the architecture of a communication system provided in an embodiment of the present application;
[0026] FIG2 is a data processing flow chart of a transmitting end and a receiving end provided in an embodiment of the present application;
[0027] FIG3 is an original film diagram of a spatially coupled LDPC provided in an embodiment of the present application;
[0028] FIG4 is a flowchart of an encoding method provided in an embodiment of the present application;
[0029] FIG5 is a flowchart of another encoding method provided in an embodiment of the present application;
[0030] FIG6 is a flowchart of another encoding method provided in an embodiment of the present application;
[0031] FIG7 is a schematic diagram of a Raptor-like structure provided in an embodiment of the present application;
[0032] FIG8 is a schematic diagram of a dual-angle result provided by an embodiment of the present application;
[0033] FIG9 is a schematic diagram of a unit array structure provided in an embodiment of the present application;
[0034] FIG10 is a schematic structural diagram of a lower triangular structure provided in an embodiment of the present application;
[0035] FIG11 is a schematic diagram of a quasi-lower triangle structure provided in an embodiment of the present application;
[0036] FIG12 is a schematic diagram of the structure of a check column matrix provided in an embodiment of the present application;
[0037] FIG13 is a schematic structural diagram of a first sub-basic matrix provided in an embodiment of the present application;
[0038] FIG14 is a schematic structural diagram of a second sub-basic matrix provided in an embodiment of the present application;
[0039] FIG15 is a schematic structural diagram of another first sub-basic matrix provided in an embodiment of the present application;
[0040] FIG16 is a schematic structural diagram of another first sub-basic matrix provided in an embodiment of the present application;
[0041] FIG17 is a schematic diagram of the structure of another first sub-basic matrix provided in an embodiment of the present application;
[0042] FIG18 is a schematic structural diagram of another first sub-basic matrix provided in an embodiment of the present application;
[0043] FIG19 is a schematic structural diagram of another first sub-basic matrix provided in an embodiment of the present application;
[0044] FIG20 is a schematic diagram of the structure of a check column matrix provided in an embodiment of the present application;
[0045] FIG21 is a schematic diagram of a flowchart of a decoding method provided in an embodiment of the present application;
[0046] FIG22 is a schematic diagram of the structure of an encoding device provided in an embodiment of the present application;
[0047] FIG23 is a schematic diagram of the structure of a decoding device provided in an embodiment of the present application;
[0048] FIG24 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application;
[0049] FIG25 is a schematic diagram showing a data simulation performance comparison provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] The following will be combined with the accompanying drawings to clearly and completely describe the technical solutions in this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0051] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0052] In the following, the terms "first," "second," etc. are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the quantity of the technical features indicated. Therefore, a feature specified as "first," "second," etc. may explicitly or implicitly include one or more of the features.
[0053] In the description of this application, unless otherwise specified, " / " means "or." For example, A / B can mean A or B. "And / or" in this document is simply a description of an association between related objects, indicating that three relationships can exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, and B exists alone. Furthermore, "at least one" means one or more, and "a plurality" means two or more.
[0054] The technical solutions provided in the embodiments of the present application can be applied to various mobile communication networks, for example, new radio (NR) mobile communication networks using fifth-generation mobile communication technology (5G), future mobile communication networks, or multiple communication convergence systems, etc., and the embodiments of the present application are not limited to this.
[0055] FIG1 is a schematic diagram showing the architecture of a communication system provided by an embodiment of the present application. As shown in FIG1 , the communication system includes a base station 10 and a terminal 20 .
[0056] In some embodiments, a base station 10 is configured to provide wireless access services to multiple terminals. Specifically, a base station provides a service coverage area (also referred to as a cell). Terminals within this area can communicate with the base station via wireless signals to receive the wireless access services provided by the base station.
[0057] In some embodiments, the base station 10 can be a base station or an evolved base station (eNB or eNodeB) in long term evolution (LTE), long term evolution advanced (LTEA), a base station device in a 5G network, or a base station in a future communication system, etc. The base station can include various macro base stations, micro base stations, home base stations, wireless remote stations, reconfigurable intelligent surfaces (RIS), routers, wireless fidelity (WIFI) devices and other network side devices.
[0058] In some embodiments, the terminal 20 can be a device with wireless transceiver capabilities, which can be deployed on land, including indoors or outdoors, handheld, wearable or vehicle-mounted; it can also be deployed on the water surface (such as a ship, etc.); it can also be deployed in the air (for example, on an airplane, a balloon, and a satellite, etc.). The terminal can be a mobile phone, a tablet computer, a computer with wireless transceiver capabilities, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, etc. The embodiments of the present application do not limit the application scenarios. The terminal may sometimes also be referred to as a user, user equipment (UE), access terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal, mobile device, UE terminal, wireless communication equipment, UE agent or UE device, etc., but the embodiments of the present application are not limited to this.
[0059] The embodiments of the present application can be applied to downlink data transmission, uplink data transmission, and device-to-device data transmission. For downlink data transmission, the transmitting end is the base station, and the corresponding receiving end is the terminal. For uplink data transmission, the transmitting end is the terminal, and the corresponding receiving end is the base station. For device-to-device data transmission, the transmitting end is the terminal, and the corresponding receiving end is also the terminal. The transmitting end and the receiving end in the present application can both include encoding devices and / or decoding devices, so that the information to be sent can be modulated and encoded, and the received encoded information can also be demodulated and decoded, so as to realize information transmission between the transmitting end device and the receiving end device. The embodiments of the present application are not limited to this.
[0060] It should be noted that Figure 1 is only an exemplary framework diagram. The number of devices included in Figure 1 and the names of each device are not restricted. In addition to the devices shown in Figure 1, the communication system may also include other devices, such as core network devices.
[0061] The application scenarios of the embodiments of this application are not limited. The system architecture and business scenarios described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. It is known to those skilled in the art that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0062] Figure 2 shows a data processing flow chart for a transmitter and receiver. As shown in Figure 2, the transmitter performs source coding, channel coding, constellation modulation, and resource mapping on the source signal (i.e., the data to be transmitted) and sends the resulting signal to the receiver. Upon receiving this signal, the receiver performs resource demapping, constellation demodulation, channel decoding, and source decoding on it to obtain the destination signal (i.e., the restored source signal).
[0063] During data transmission, errors may occur due to factors such as multipath, noise, and interference. Therefore, the transmitter uses channel coding to add redundant information to the data being transmitted. The receiver can then use this redundant information to recover the original data, eliminating distortion introduced during transmission. Commonly used channel coding methods include LDPC, polar coding, turbo coding, and convolutional coding.
[0064] LDPC is defined by a sparse (or low-density) parity basis matrix, and decoding performance can be improved through iterative decoding, such as using belief transfer decoding.
[0065] The check matrix H of the LDPC code is m b × Z rows and n b×z columns, which is composed of m b ×n b The check matrix H is composed of sub-matrices, each of which is a different power of the Z×z standard permutation matrix (corresponding to the cyclic shift matrix of the identity matrix) or a Z×z all-zero square matrix. The check matrix H has the following form:
[0066] if have That is, a Z×Z square matrix of all zeros; if Is an integer greater than or equal to 0, and the corresponding submatrix is the standard permutation matrix P The standard permutation matrix P of Z×Z is as follows (the standard permutation matrix can be formed by cyclically shifting the unit matrix to the right by 1 bit):
[0067] so, Each submatrix can be uniquely identified. If a submatrix is a square matrix of all zeros, the corresponding It is represented by -1 (it can also be represented by a null value or other description methods); if a submatrix is obtained by cyclic shift s of the unit matrix, then Equal to s. All Therefore, the basic matrix includes two elements: the element indicating the all-zero square matrix and the element indicating the cyclic shift of the unit matrix.
[0068] Z is the dimension of the standard permutation matrix (submatrix), and Z can be called the lifting size. The base matrix of the LDPC code can be obtained by replacing the elements indicating the cyclic shift of the unit matrix in the basic matrix with "1" and replacing all the elements indicating the all-zero square matrix with "0". Therefore, the base matrix of the LDPC code only includes two elements: "0" and "1", where "0" is used to indicate that the index position is an element of the all-zero square matrix, and "1" is used to indicate that the index position is an element of the cyclic shift of the unit matrix. For the convenience of description, only the elements of the basic matrix indicating the cyclic shift of the unit matrix and the row and column index positions of these element positions can be described, and the remaining row and column index positions are defaulted to elements indicating the all-zero square matrix. In addition, the elements indicating the cyclic shift of the unit matrix can also be represented by their cyclic shift values, while the elements indicating the all-zero square matrix can be described by -1 or null values.
[0069] For example, the basic matrix (2 rows and 4 columns) of an LDPC code is as follows:
[0070] When the boost value is equal to 4, the corresponding check matrix H is as follows.
[0071] The corresponding basis matrix is as follows:
[0072] Spatially coupled LDPC is a channel code derived from LDPC convolutional codes. It combines the advantages of both LDPC and convolutional codes, offering excellent decoding and error correction performance while also meeting the high-speed encoding requirements of block-based LDPC codes. The spatial coupling characteristic of spatially coupled LDPC codes can lead to a "threshold saturation" phenomenon, enabling SC-LDPC codes to theoretically approach the Shannon capacity limit.
[0073] The coupling principle of spatially coupled LDPC codes is described below using the original pattern coupling. FIG3 is a schematic diagram of a process for obtaining a spatially coupled LDPC original pattern from an original pattern, as provided in an embodiment of the present application. In which, black dots represent variable nodes, plus-signed squares are check nodes, and the solid lines connecting variable nodes and check nodes are called edges. FIG3 (a) is the original pattern of the LDPC code; FIG3 (b) copies the original pattern of the LDPC code multiple times for coupling, and the serial numbers t, t+1, t+2, etc. represent the index of the original pattern after copying, and the number of copies can be called the coupling chain length; FIG3 (c) decouples some edges in each original pattern and reconnects them to the subsequent LDPC original pattern. The maximum distance of the connection is limited by the constraint length, and the constraint length can be called the coupling width; FIG3 (d) is the original pattern of the spatially coupled LDPC after coupling through the original pattern.
[0074] As shown in FIG4 , an embodiment of the present application provides an encoding method, which is applied to an encoding device. The method includes the following steps:
[0075] S401: Obtain a first bit sequence to be encoded.
[0076] S402 : Encode the first bit sequence based on the basic matrix and lifting value of the spatially coupled LDPC to obtain a second bit sequence.
[0077] S403: Send all or part of the bits of the second bit sequence.
[0078] The basic matrix of the spatially coupled LDPC includes L identical sub-basic matrix groups that are arranged diagonally, and the sub-basic matrix groups include M first sub-basic matrices, where L and M are both positive integers.
[0079] For example, the basic matrix of spatially coupled LDPC can be expressed as follows:
[0080] Wherein, L is the coupling chain length, and M is the coupling width (or coupling depth).
[0081] It should be understood that the above Construct the first sub-basic matrix group; Constitute the second sub-basic matrix group; and so on, The elements in the spatially coupled LDPC basic matrix can be the first element or the second element. The first element is used to indicate an all-zero square matrix, and the second element is used to indicate the cyclic shift of the unit matrix. The second element can be represented by the cyclic shift value of the unit matrix.
[0082] In some embodiments, the first sub-basic matrix group, the second sub-basic matrix group, ..., and the Lth sub-basic matrix group are all composed of M first sub-basic matrices, that is, the i-th sub-basic matrix group includes the same M first sub-basic matrices, where i is any positive integer less than or equal to L. That is, the first sub-basic matrix group, the second sub-basic matrix group, ..., and the Lth sub-basic matrix group are all composed of M first sub-basic matrices Hb0, Hb1, ..., Hb M-1 In this structure, Hb0 is called the first first sub-basic matrix, Hb1 is called the second first sub-basic matrix, ..., Hb M-1 It is called the Mth first sub-basic matrix.
[0083] In some embodiments, the number of rows of the M first sub-basic matrices is m b , the number of columns of the M first sub-basic matrices is n b , n b Greater than m b , m b and n b All are positive integers.
[0084] The basic matrix of the spatially coupled LDPC includes L identical and diagonally arranged sub-basic matrix groups, and the sub-basic matrix group includes M first sub-basic matrices, which should be understood as: the (i-1)*nth sub-basic matrix in the basic matrix of the spatially coupled LDPC b +1 column to i*n b Column and (j-1)*m b +(i-1)*m b +1 row to (j-1)*m b +i*m b The submatrix formed by the rows is the jth first sub-basic matrix, where i is any positive integer less than or equal to L, and i is any positive integer less than or equal to M.
[0085] In some embodiments, the coupling width M of the spatially coupled LDPC may be equal to at least one of the following: 2, 3, 4, 5, 6, or 7.
[0086] In some embodiments, the elements of the first sub-basic matrix may be first elements or second elements. The first element is used to indicate an all-zero square matrix and may be represented by -1 or a null value. The second element is used to indicate a cyclic shift of the unit matrix and may be represented by the cyclic shift value of the unit matrix.
[0087] In some embodiments, the first sub-basic matrix includes a systematic column matrix and a check column matrix, wherein the systematic column matrix is composed of the first k b The check column matrix is composed of the last m elements of the first sub-basic matrix. b The elements of the column, k b With m b The sum is equal to the number of columns n of the first sub-basic matrix b , k b With m b are all positive integers. For example, the first sub-basic matrix may have the following structure: [Hb s , Hb p ]. Among them, Hb s is the column matrix of the above system, Hb p is the above check column matrix. System column matrix Hb s and check column matrix Hb p The number of rows is the same, both are m b .
[0088] In some embodiments, the check column matrix of at least one of the M first sub-basic matrices adopts any one of the following structures:
[0089] 1. Raptor-like structure;
[0090] 2. Unit array structure;
[0091] 3. Lower triangular structure;
[0092] 4. Quasi-lower triangular structure; the quasi-lower triangular structure means that the part of the matrix in the lower right corner is a lower triangular structure;
[0093] 5. A first preset structure, wherein the column weights of the first a columns of the parity matrix of the first preset structure are greater than 0, and the column weights of all columns other than the first a columns are equal to 0, where a is a positive integer, the column weight is the number of second elements in a column, and the second element is used to indicate a cyclic shift of the unit matrix;
[0094] 6. Second preset structure: All elements of the parity check column matrix using the second preset structure are first elements, and the first element is used to indicate an all-zero square matrix.
[0095] In some embodiments, the parity matrix of the first of the M first sub-basic matrices adopts a Raptor-like structure or a unit matrix structure. This simplifies the matrix inversion operation on the first sub-basic matrix during the encoding process, thereby reducing encoding complexity.
[0096] In some embodiments, the structure of the check column matrix of the first first sub-basic matrix among the M first sub-basic matrices can be determined by at least one of the following parameters: the length of the first bit sequence, the number of first bit subsequences included in the first bit sequence, and the length of the first bit subsequence.
[0097] For example, the following three implementations can be used to determine whether the check column matrix adopts a Raptor-like structure or a unit matrix structure:
[0098] Implementation Method 1: When the length of the first bit sequence (also known as the transport block size) is greater than a first threshold, the parity check matrix of the first first sub-basic matrix adopts a Raptor-like structure. The first threshold is a positive integer. When the length of the first bit sequence is less than or equal to the first threshold, the parity check matrix of the first first sub-basic matrix does not adopt a Raptor-like structure. Alternatively, when the length of the first bit sequence is less than or equal to a second threshold, the parity check matrix of the first first sub-basic matrix adopts a unit matrix structure. The second threshold is a positive integer. When the length of the first bit sequence is greater than the second threshold, the parity check matrix of the first first sub-basic matrix does not adopt a unit matrix structure. In one example, the first threshold is greater than or equal to the second threshold. As an example, the first threshold is an integer greater than 512. As another example, the second threshold is an integer greater than 256. As another specific example, the first threshold is equal to the second threshold, the first threshold is an integer between 4096 and less than 40960, or the first threshold is an integer greater than or equal to 4096 and less than or equal to 16384. For example, the first threshold may be equal to 4096, 6144, 8192, 8448, 16384, 20000, or 40960. In one example, the first threshold is equal to the second threshold, and when the length of the first bit sequence is greater than the first threshold, the parity check column matrix of the first first sub-basic matrix adopts a raptor-like structure; otherwise, it adopts a unit matrix structure.
[0099] Implementation method 2: The first bit sequence may include L first bit subsequences (or information bit subsequences). When the length of the first bit subsequence is greater than a third threshold, the parity check matrix of the first first sub-basic matrix adopts a Raptor-like structure. The third threshold is a positive integer. When the length of the first bit subsequence is less than or equal to the third threshold, the parity check matrix of the first first sub-basic matrix does not adopt a Raptor-like structure. Alternatively, when the length of the first bit subsequence is less than or equal to a fourth threshold, the parity check matrix of the first first sub-basic matrix adopts a unit matrix structure. The fourth threshold is a positive integer. When the length of the first bit subsequence is greater than the fourth threshold, the parity check matrix of the first first sub-basic matrix does not adopt a unit matrix structure. In one example, the third threshold is greater than or equal to the fourth threshold, and L is a positive integer. As an example, the third threshold is an integer greater than or equal to 256 and less than 4096, or the third threshold is an integer greater than or equal to 256 and less than or equal to 1024. As an example, the fourth threshold is an integer greater than or equal to 256 and less than 4096, or the fourth threshold is an integer greater than or equal to 512 and less than or equal to 2048. For example, the third threshold or the fourth threshold is equal to 256, 512, 768, 1024, 1536, or 2048. In one example, the third threshold may be equal to the fourth threshold. When the length of the first bit sequence is greater than the third threshold, the parity check column matrix of the first first sub-basic matrix adopts a Raptor-like structure; otherwise, it adopts a unit matrix structure.
[0100] Implementation method three: The first bit sequence may include L first bit subsequences (or information bit subsequences). When the number of first bit subsequences L is greater than a fifth threshold, the parity check matrix of the first first sub-basic matrix adopts a Raptor-like structure. The fifth threshold is a positive integer. When the number of first bit subsequences L is less than or equal to the fifth threshold, the parity check matrix of the first first sub-basic matrix does not adopt a Raptor-like structure. Alternatively, when the number of first bit subsequences L is less than or equal to a sixth threshold, the parity check matrix of the first first sub-basic matrix adopts a unit matrix structure. The sixth threshold is a positive integer. L is a positive integer. When the number of first bit subsequences L is greater than the sixth threshold, the parity check matrix of the first first sub-basic matrix does not adopt a unit matrix structure. In one example, the fifth threshold is greater than or equal to the sixth threshold. As an example, the fifth threshold is an integer greater than or equal to 8 and less than 64, or the fifth threshold is an integer greater than or equal to 16 and less than 48. As an example, the sixth threshold is an integer greater than or equal to 8 and less than 64, or the sixth threshold is an integer greater than or equal to 16 and less than 48. For example, the fifth threshold or the sixth threshold is equal to 8, 12, 16, 20, 24, 32, 36, 48, 56, or 64. In one example, the fifth threshold may be equal to the sixth threshold, and when the length of the first bit sequence is greater than the fifth threshold, the parity check column matrix of the first first sub-basic matrix adopts a Raptor-like structure; otherwise, it adopts a unit matrix structure.
[0101] It should be understood that, through experimental simulation, when the length of the first bit sequence or the length of the first bit subsequence is long, the parity check column matrix of the first first sub-basic matrix adopts a Raptor-like structure rather than a unit matrix structure, which has better coding performance. When the length of the first bit sequence or the length of the first bit subsequence is short, the parity check column matrix of the first first sub-basic matrix adopts a unit matrix structure rather than a Raptor-like structure, which has better coding performance. As shown in FIG25 , the horizontal axis represents the ratio of signal power to noise power under a Gaussian channel (generally referred to as the signal-to-noise ratio), in decibels; the vertical axis represents the packet error rate, whose value is less than or equal to 1 and greater than or equal to 0; under the same signal-to-noise ratio, the lower the packet error rate, the better the performance, or the closer the curve is to the left, the better the performance. In Figure 25 , the parity check matrix "Str1" corresponds to the first sub-basic matrix, which uses a raptor-like structure (corresponding to the dashed curve), and the parity check matrix "Str2" corresponds to the first sub-basic matrix, which uses a unit matrix structure (corresponding to the solid curve). The corresponding coupling chain length L is 80, and the coupling width M is 2. Performance comparisons are shown for first bit subsequence lengths of 512, 1024, and 2048, respectively. It can be seen that when the first bit subsequence length is 512, the performance of "Str2" is slightly better than that of "Str1," while when the first bit subsequence lengths are 1024 and 2048, the performance of "Str1" is better than that of "Str2."
[0102] In some embodiments, the parity check matrix structures of any two of the M first sub-basic matrices are different. The parity check matrix of the first first sub-basic matrix and the parity check matrix of the second first sub-basic matrix are exemplarily introduced below.
[0103] Example 1: Among the M first sub-basic matrices, the parity check column matrix of the first first sub-basic matrix adopts a Raptor-like structure, and the parity check column matrix of the second first sub-basic matrix adopts a unit matrix structure.
[0104] Example 2: Among the M first sub-basic matrices, the parity check column matrix of the first first sub-basic matrix adopts a unit matrix structure, and the parity check column matrix of the second first sub-basic matrix adopts a Raptor-like structure.
[0105] Example 3: The check column matrix of the first first sub-basic matrix adopts a Raptor-like structure, and the check column matrix of the second first sub-basic matrix adopts the first preset structure. As an example, the value of a is less than or equal to the number of rows of the core matrix of the first first sub-basic matrix. As an example, the number of rows of the core matrix of the first first sub-basic matrix is equal to 3, 4, 5, 6, or 8. The core matrix of the first sub-basic matrix is the upper left m of the first sub-basic matrix. b0 Line kb+m b0 The matrix composed of columns, m b0 It can be equal to 3, 4, 5, 6, or 8.
[0106] Example 4: Among the M first sub-basic matrices, the parity matrix of the first first sub-basic matrix adopts the unit matrix structure, and the parity matrix of the second first sub-basic matrix adopts the first preset structure. As an example, a is equal to 2, 3, 4, 5, 6, or 8.
[0107] In some embodiments, a system column matrix of at least one of the M first sub-basic matrices has b columns with a column weight equal to 0, and the column weights of all other columns except b columns are greater than 0. The column weight is the number of second elements in a column, and b is a positive integer. As an example, the b columns with a column weight equal to 0 are the first b columns of the system column matrix. As an example, the value of b is equal to the number of punctures in the system column. In a specific example, b can be equal to 1 or 2.
[0108] In some embodiments, the boost value is equal to a positive integer power of 2. For example, the boost value can be equal to 8, 16, 32, 64, 128, 256, or 512.
[0109] In some embodiments, the spatially coupled LDPC base matrix may include, in addition to the L sub-base matrix groups, N second sub-base matrices, where N is a positive integer. It should be understood that the N second sub-base matrices may enhance the error correction performance of the spatially coupled LDPC.
[0110] In some embodiments, the number of columns of the N second sub-basic matrices is m b , and the number of rows of the N second sub-basic matrices is m b , m b is a positive integer. That is, the second sub-basic matrix is a square matrix.
[0111] In some embodiments, the N second sub-basic matrices are arranged on the diagonal of the lower right corner sub-matrix of the basic matrix of the spatially coupled LDPC. As an example, the lower right corner sub-matrix is the N*m lower right corner sub-matrix of the basic matrix of the spatially coupled LDPC. b Column and N*m b Row composition.
[0112] The N second sub-basic matrices are arranged on the diagonal of the lower right corner sub-matrix of the basic matrix of the spatial coupling LDPC, which can be understood as: the L*n-th sub-matrix in the basic matrix of the spatial coupling LDPC b +(s-1)*m b +1 column to L*n b +s*m b Column and L*m b +(s-1)*m b +1 row to L*m b +s*m b The submatrix formed by the rows is the s-th second sub-basic matrix, where s is any positive integer less than or equal to N.
[0113] In some embodiments, the second sub-basic matrix adopts any one of the following structures:
[0114] 1. Raptor-like structure;
[0115] 2. Unit array structure;
[0116] 3. Lower triangular structure;
[0117] 4. Quasi-lower triangle structure.
[0118] It should be understood that the second sub-basic matrix adopts the above structure, which can simplify the inverse operation of the second sub-basic matrix during the encoding process, and is conducive to reducing the encoding complexity.
[0119] In some embodiments, the number N of the second sub-basic matrices is smaller than the number M of the first sub-basic matrices. For example, the number of the second sub-basic matrices is equal to M-1, where M is an integer greater than 1 and M is the coupling width of the spatially coupled LDPC matrix.
[0120] For example, taking N=M-1 as an example, the basic matrix of spatially coupled LDPC can be expressed as:
[0121] Where Hb represents the first sub-basic matrix, Tb represents the second sub-basic matrix. L is the length of the coupling chain in the spatial coupling process, and M is the coupling width (or coupling depth). The specific spatial coupling process can be found in the relevant technical documents of the original model coupling, which will not be described in detail here. It can be seen that the basic matrix Hb SC There are multiple sub-matrices that are not all equal to 0 (such as and Tb j ), in addition to these and Tb jExcept for , all other elements are equal to 0, that is, they all indicate elements of an all-zero square matrix, where i = 0, 1, ..., M-1, t = 0, 1, ..., L-1, and j = 0, 1, ..., M-2. The elements in the spatially coupled LDPC base matrix can be either the first element or the second element. The first element indicates an all-zero square matrix, and the second element indicates a cyclic shift of the unit matrix. The second element can be represented by the cyclic shift value of the unit matrix.
[0122] In some embodiments, based on the basic matrix and lifting value of the spatially coupled LDPC, the first element in the basic matrix is replaced with an all-zero square matrix of size Z rows and columns, and the second element is replaced with a unit matrix of size Z rows and columns, and the matrix is cyclically shifted, with the cyclic shift size being the value of the second element, to obtain a coupled parity check matrix of the spatially coupled LDPC. Exemplarily, a coupled parity check matrix of the spatially coupled LDPC can be expressed by the following formula:
[0123] Among them, the coupling check matrix H SC The elements in include at least 0 and 1, and the coupling check matrix H SC The matrix includes multiple sub-matrices that are not all equal to 0 (such as the first sub-parity check matrix and the second sub-parity check matrix T j ), in addition to these and T j Except for , the rest of the elements are equal to 0, where i = 0, 1, ..., M-1, t = 0, 1, ..., L-1, j = 0, 1, ..., M-2. The size of T is m rows and n columns. j The size of is m rows and m columns, where m and n are both positive integers. b The product of Z, m is equal to m b The product of and Z, where Z is the boost value. The number of rows of the coupled parity check matrix of the spatially coupled LDPC code is (L+M-1)*m, and the number of columns is L*n+(M-1)*m.
[0124] For the coupled check matrix H SC , the first sub-parity check matrix of sequence number i The first sub-basic matrix of sequence number i And the lifting value is determined. That is, the first sub-basic matrix of sequence number i is The first submatrix of sequence number i can be obtained by replacing the elements indicating the all-zero square matrix with an all-zero square matrix of size Z rows and columns, and replacing the elements indicating the cyclic shift of the unit matrix with the unit matrix of size Z rows and columns. Wherein, i=0, 1,…, M-1, t=0, 1,…, L-1.
[0125] For the coupled check matrix H SC , the second sub-parity check matrix of sequence number j is T j , is the second sub-basic matrix Tb j And the lifting value Z is determined. That is, the second sub-basic matrix Tb j The matrix T is obtained by replacing the elements of the all-zero square matrix in the matrix with the all-zero square matrix of size Z rows and Z columns, and replacing the elements of the unit matrix cyclic shift with the unit matrix of size Z rows and Z columns. j , where j = 0, 1,…, M-1.
[0126] The encoding process of spatially coupled LDPC codes is as follows: spatially coupled LDPC codes are applied to the input information to obtain a coding sequence C, which satisfies the following equation: SC ×C=0, where C is the coding sequence, 0 is the all-zero vector, and H SC is the coupled check matrix.
[0127] The coding sequence may include L+M code blocks, that is, L first code blocks (also referred to as the second bit subsequence below) and M second code blocks (also referred to as the third bit subsequence below), wherein the length of each first code block in the L first code blocks is equal to n, and the length of each second code block in the M second code blocks is equal to m. The tth code block in the spatially coupled LDPC coding sequence corresponds to the coupled check matrix H SC The submatrix group that is not all equal to 0 is in The first element in the upper left corner is located at H SC The row index is t*m and the column index is t*n, where t is a non-negative integer less than L; the j-th second code block in the spatially coupled LDPC coded sequence corresponds to the coupled check matrix H SC The submatrix that is not all equal to 0 is T j , where T j The first element in the upper left corner is located at H SC The row index in is t*m and the column index is t*n, where t is a non-negative integer less than L. In the embodiments of the present application, variables are numbered starting from 0 unless otherwise specified.
[0128] The following describes step S402 in detail with respect to different structures of spatially coupled LDPC.
[0129] 1. When the basic matrix of the spatially coupled LDPC includes only L sub-basic matrix groups, as shown in FIG5 , S402 can be specifically implemented as the following steps S4021a-S4022a:
[0130] S4021a. Based on the M first sub-basic matrices and the lifting values, encode the L first bit subsequences to obtain L second bit subsequences.
[0131] The first bit sequence includes L first bit subsequences. The second bit subsequence may have other names, such as a coded bit subsequence, which is not limited.
[0132] For example, the L first bit subsequences can be described as {a0, a1, ..., a L-1}, the length of each first bit subsequence a is k bits, k is a positive integer, and a is a column vector. The second bit subsequence obtained by encoding L first bit subsequences can be described as {b0, b1, ..., b L-1}, the length of each second bit subsequence b is n bits, n is a positive integer greater than or equal to k, and b is a column vector. The M first sub-basic matrices can be represented as Hb0, Hb1, ..., Hb M-1 .
[0133] For the first bit subsequence of sequence number t, for example, described as a t , the first bit subsequence a is processed according to the M first sub-basic matrices and the lifting value t By encoding, we can obtain the second bit subsequence b of sequence number t t .
[0134] First, according to the M first sub-basic matrices (Hb0, Hb1, ..., Hb M-1 ) and the lifting value, determine the M sub-parity check matrices are H0, H1, ..., H M-1 , that is, the first element in the first sub-basic matrix is replaced by a Z×Z all-zero square matrix, and the second element in the first sub-basic matrix is replaced by a Z×Z cyclic shift matrix of the identity matrix. It should be understood that each sub-parity check matrix includes the replaced systematic column matrix H S And the check column matrix H after replacement P Then, based on H in the M sub-parity check matrices S and H P , encode the first bit subsequence. The specific encoding process is as follows:
[0135] (1) When t is equal to 0, the first bit subsequence of sequence number 0 is encoded based on the first sub-basic matrix Hb0 of sequence number 0 and the lifting value to obtain the second bit subsequence of sequence number 0. Specifically, the sub-parity check matrix H0 determined by the first sub-basic matrix Hb0 of sequence number 0 and the lifting value is calculated as follows:
[0136] Thus, the second sub-bit sequence of sequence number 0 can be expressed as in, and They are respectively the replaced systematic column matrix and check column matrix in the first sub-parity check matrix H0 of sequence number 0.
[0137] (2) When t is equal to 1, the first bit subsequence a1 of sequence number 1 is encoded based on the first sub-basis matrix Hb0 of sequence number 0, the first sub-basis matrix Hb1 of sequence number 1, and the lifting value to obtain the second bit subsequence b1 of sequence number 1. Specifically, the first sub-parity check matrices H0 and H1 are determined based on the first sub-basis matrix Hb0 of sequence number 0, the first sub-basis matrix Hb1 of sequence number 1, and the lifting value, and the following calculation is performed:
[0138] Thus, the second sub-bit sequence of sequence number 1 can be expressed as
[0139] (3) When t is less than M, based on the t first sub-basic matrices Hb0, ..., Hb t , and the first bit subsequence a of the boost value pair number t t Encode and obtain the second bit subsequence b of sequence number t t The specific calculation is as follows:
[0140] Thus, the second bit subsequence b t It can be expressed as
[0141] (4) When t is greater than or equal to M, based on the M first sub-basic matrices Hb0, ..., Hb M-1 , and the first bit subsequence a of the boost value pair number t t Encode and obtain the second bit subsequence b of sequence number t t The specific calculation is as follows:
[0142] Thus, the second bit subsequence b t It can be expressed as
[0143] S4022a. Obtain a second bit sequence based on the L second bit subsequences.
[0144] As a possible implementation manner, the second bit sequence is obtained by concatenating L second bit subsequences.
[0145] 2. When the spatially coupled LDPC base matrix includes L sub-base matrix groups and N second sub-base matrices, as shown in FIG6 , S402 can be specifically implemented as the following steps S4021b-S4023b:
[0146] S4021b: Encode the L first bit subsequences based on the M first sub-basic matrices and the lifting values to obtain L second bit subsequences.
[0147] The specific implementation of step S4021b can refer to the description of step S4021a and will not be repeated here.
[0148] S4022b: Based on the N second sub-basic matrices, the lifting values, and the last N first sub-basic matrices in the M first sub-basic matrices, encode the last N second bit subsequences in the L second bit subsequences to obtain N third bit subsequences.
[0149] The N third bit subsequences can be described as {c0, c1, ..., c N-1}, the length of each third bit subsequence is nk, n is the length of the first bit subsequence, and k is the length of the second bit subsequence. The N second sub-basic matrices can be described as (Tb0, Tb1, ..., Tb N-1 ).
[0150] It should be understood that according to the N second sub-basic matrices (Tb0, Tb1, ..., Tb N-1 ) and the lifting value, determine the N second sub-parity check matrices are T0, T1, ..., T N-1 , that is, replace the first element in the second sub-basic matrix with a Z×Z all-zero square matrix, and replace the second element in the second sub-basic matrix with a cyclic shift matrix of the Z×Z identity matrix.
[0151] The third bit subsequence c of sequence number s s The encoding process is as follows:
[0152] Among them, H i represents the i-th sub-parity check matrix in the last N first sub-parity check matrices, b L-i represents the Li th second bit subsequence in the last N second bit subsequences.
[0153] In some embodiments, if the N second sub-parity check matrices are T0, T1, ..., T N-1 If they are all unit matrices, there is no need to invert them (the inverse matrix of the unit matrix is itself), that is, c s =v.
[0154] S4023b. Obtain a second bit sequence based on the L second bit subsequences and the N third bit subsequences.
[0155] As a possible implementation manner, L second bit subsequences and N third bit subsequences are sequentially concatenated to obtain a second bit sequence.
[0156] It can be seen that when the basic matrix of the spatially coupled LDPC also includes N second sub-basic matrices, the second bit sequence also includes N third bit subsequences, which can provide the receiving end with more prior information and help the receiving end to correct errors in the received bit sequence.
[0157] The structure of the matrix is described below with reference to specific examples and accompanying drawings.
[0158] 1. Raptor-like structure
[0159] FIG7 is a schematic diagram of a Raptor-like structure provided in an embodiment of the present application. In FIG7 , the dots in the figure represent the second element, and the remaining blank areas represent the first element. It should be understood that the dots in the figure are only schematic examples. The dot corresponding to a certain area only indicates that the area has the second element, and does not mean that all elements in the area are second elements. The examples in the following figures also have this feature, and will not be repeated one by one below.
[0160] As shown in Figure 7, the parity check column matrix with a Raptor-like structure has the following characteristics:
[0161] 1. m in the upper left corner b0 Line m b0 The submatrix 701 formed by the columns has a row weight greater than 1 and a column weight greater than 1;
[0162] 2. m in the lower left corner b -m b0 Line m b0 There are columns with column magnitude greater than 0 in the submatrix 702 formed by the columns;
[0163] 3. m in the upper right corner b0 Line m b -m b0 All elements in the submatrix 703 formed by the columns are first elements;
[0164] 4. m in the lower right corner b -m b0 Line m b -m b0 In the sub-matrix 704 formed by the columns, the elements on the diagonal are all second elements, and the elements in the remaining positions are all first elements.
[0165] Among them, m b0 is less than or equal to n b A positive integer.
[0166] In one example, the second feature (i.e., the lower left corner m b -m b0 Line m b0 The submatrix 702 composed of columns has a column weight greater than 0) can be changed to: b -m b0 Line m b0 The sub-matrix 702 composed of columns may not include any column with a column weight greater than 0.
[0167] It can be understood that the advantage of the check column matrix with a Raptor-like structure in the first sub-basic matrix is that the corresponding first m b0 When the parity bit of the column is b -m b0 When the check bits of the columns are calculated, no matrix inversion operation is required, so the dimension of the matrix that needs to be inverted is reduced, which can simplify the encoding operation, reduce the encoding complexity, and achieve fast encoding.
[0168] In some embodiments, for a first sub-basic matrix of a parity check column matrix having a Raptor-like structure, the upper left m of the first sub-basic matrix b0 Line kb+m b0 The matrix composed of columns can be called the core matrix (kb is the number of columns in the system column matrix). The weight of any row of the core matrix is greater than 1, and the weight of any column is greater than 1. In addition, the upper right corner m of the first sub-basic matrix is b0 Line m b -m b0 All elements in the matrix formed by the columns are the first elements.
[0169] In some embodiments, the upper left corner m of the check column matrix with a Raptor-like structure b0 Line m b0 The submatrix 701 formed by the columns is a matrix with a dual diagonal structure.
[0170] 1. The i-th element in the i-th row and the mod(i+1,m b0 ) elements are all second elements and equal to 0, i = 0, 1, 2, ..., m b0 -1;
[0171] 2. The second element to the mth element in the first column b0 There is a second element in the elements that is not equal to 0. For example, the column weight of column 1 is equal to 3.
[0172] It can be understood that if the upper left corner m in the check column matrix b0 Line m b0 The submatrix 701 formed by the columns is a matrix with a double diagonal structure. b0 When the parity bits of the columns are obtained, it is not necessary to perform an inversion operation on the sub-matrix 701, which can reduce the coding complexity.
[0173] As an example, FIG8 shows a schematic diagram of a dual diagonal structure provided by an embodiment of the present application. As shown in FIG8, m b0 =6, where the dot represents the second element and the remaining blank space represents the first element. The numbers at the top of the figure (0 to 5) are the column indices and the numbers on the left (0 to 5) are the row indices.
[0174] In some examples, m b0 It can be equal to 3, 4, 5, 6, 7 or 8.
[0175] In some examples, m b0 Can be equal to m b At this time, the check column matrices with Raptor-like structure are all core matrices, or matrices with dual diagonal structure.
[0176] 2. Unit Array Structure
[0177] Figure 9 is a schematic diagram of a unit matrix structure provided by an embodiment of the present application, i.e., all diagonal elements in a parity check column matrix with a unit matrix structure are second elements. As shown in Figure 9, the dots represent the second elements, and the remaining blank spaces represent the first elements. If the first sub-basic matrix has a parity check column matrix with a unit matrix structure, the encoding process is very simple. The calculation of all parity bits does not require an inversion operation, the complexity is very low, and parallel computing can be performed, further improving the speed of the encoding operation.
[0178] In one example, the values of all elements on the diagonal of the parity check column matrix having the identity matrix structure are equal to 0 (ie, all elements on the diagonal indicate the identity matrix).
[0179] 3. Lower triangle structure
[0180] FIG10 is a schematic diagram of a lower triangular structure provided by an embodiment of the present application. As shown in FIG10 , the dots represent the second element, and the remaining blank spaces represent the first element. The parity check column matrix with a lower triangular structure has the following characteristics:
[0181] 1. All elements on the diagonal are second elements;
[0182] 2. There is at least one second element among all elements below the diagonal.
[0183] It can be understood that the advantage of the parity column matrix with a lower triangular structure in the first sub-basic matrix is that all parity bits do not require inversion operations, which can simplify encoding operations, reduce encoding complexity, and achieve fast encoding.
[0184] In one example, all elements on the diagonal of the parity check column matrix having a lower triangular structure have values equal to 0.
[0185] In one example, the values of all elements indicating cyclic shifts of the identity matrix in the parity check column matrix having the lower triangular structure are equal to 0.
[0186] In one example, all elements on the diagonal of a parity check column matrix having a lower triangular structure are elements indicating a cyclic shift of the unit matrix, and the elements indicated by the row and column indices {i+1, i} corresponding to any integer i in the parity check column matrix are elements indicating a cyclic shift of the unit matrix, where i is less than m. b1 Any non-negative integer, m b1 Less than or equal to m b , m b is the number of rows of the check column matrix, and the other elements are all elements indicating all-zero square matrices. In a specific example, the m b1 Equal to 2, 3, 4, 5, 6, 7, or 8.
[0187] 4. Quasi-lower triangle structure
[0188] FIG11 is a schematic diagram of a quasi-lower triangular structure provided by an embodiment of the present application. As shown in FIG11 , the dots represent the second element, and the remaining blank spaces represent the first element. The parity check column matrix with a quasi-lower triangular structure has the following characteristics:
[0189] 1. Upper left corner m b0 Line m b0 The submatrix 1101 formed by the columns has a row weight greater than 1 and a column weight greater than 1;
[0190] 2. m in the lower left corner b -m b0 Line m b0 The column weight of the submatrix 1102 formed by the columns is also greater than 0;
[0191] 3. m in the upper right corner b0 Line m b -m b0 All elements in the submatrix 1103 formed by the columns are elements indicating an all-zero square matrix;
[0192] 4. m in the lower right corner b -m b0 Line m b -mb0 The submatrix 1104 formed by the columns has a lower triangular structure.
[0193] It can be understood that the advantage of the check column matrix with the quasi-lower triangular structure in the first sub-basic matrix is that the corresponding first m b0 When the parity bit of the column is b -m b0 When the check bits of the columns are calculated, no matrix inversion operation is required. It can be seen that the dimension of the matrix that needs to be inverted becomes smaller, which can simplify the encoding operation, reduce the encoding complexity, and achieve fast encoding.
[0194] In addition, the upper left corner m b0 Line m b0 The submatrix 1101 formed by the columns may be a matrix of the dual diagonal structure mentioned in the aforementioned Raptor-like structure.
[0195] Among them, m b0 is less than n b In one example, m b0 Equal to 3, 4, 5, 6, 8 or 10. m b is greater than m b0 An integer of +4.
[0196] 5. First Preset Structure
[0197] In the check column matrix of the first preset structure, the column weights of the first a columns are greater than 0, and the column weights of the other columns except the first a columns are equal to 0, where a is a positive integer. FIG12 is a schematic diagram of the structure of a check column matrix using the first preset structure provided by an embodiment of the present application. As shown in FIG12, the dots represent the second element, and the remaining blank areas represent the first element. The column weights of each column of the submatrix 1201 formed by the first a columns are greater than 0, and the column weights of the remaining m columns are equal to 0. b The column weight of each column in the submatrix 1202 formed by the -a columns is equal to 0.
[0198] 6. Second Preset Structure
[0199] In the parity check column matrix of the second preset structure, all elements are first elements, and the first element is used to indicate an all-zero square matrix.
[0200] The structure of the first sub-basic matrix is described in detail below with reference to specific examples and accompanying drawings.
[0201] Example 1
[0202] In this example, taking M equal to 2 as an example, the first bit subsequence is encoded based on two first sub-basic matrices and the lifting value to obtain the second bit subsequence, and the two first sub-basic matrices are Hb0 and Hb1 respectively.
[0203] Of the two first sub-basic matrices, one has a parity check matrix with a unit matrix structure, while the other has a parity check matrix with a lower triangular structure. For example, the first sub-basic matrix Hb0 has a parity check matrix with a unit matrix structure, while the second sub-basic matrix Hb1 has a parity check matrix with a lower triangular structure.
[0204] FIG13 is a schematic diagram of the structure of a first sub-basic matrix provided in an embodiment of the present application. As shown in FIG13 , FIG13 (a) corresponds to the first first sub-basic matrix Hb0, and FIG13 (b) corresponds to the second first sub-basic matrix Hb1. The numbers in the first row represent column indices (0 to 39). The dimensions of both first sub-basic matrices are 8 rows and 40 columns. Sub-matrix 1301 and sub-matrix 1303 are the system column matrices of Hb0 and Hb1, respectively, and sub-matrix 1302 and sub-matrix 1304 are the parity check column matrices of Hb0 and Hb1, respectively. The first sub-basic matrix includes two elements: a "-1" element indicating an all-zero square matrix (the first element); and a non--1 element indicating a cyclic shift of the identity matrix (the second element). The non--1 elements are all non-negative integers, describing the number of bits of the cyclic shift of the identity matrix. As can be seen, the parity check column matrix 1302 of the first sub-basic matrix Hb0 is an 8-row, 8-column matrix with an identity matrix structure, where only the diagonal elements are equal to 0, and all other elements are equal to -1. The parity check column matrix 1304 of the first sub-basic matrix Hb1 is an 8-row, 8-column matrix with a lower triangular structure, where all diagonal elements are second elements, and there is at least one second element below the diagonal. In this example, the lift value is 16.
[0205] In addition, in this example, there is a second sub-basic matrix, as shown in FIG14 . The second sub-basic matrix adopts a unit matrix structure, and only the elements on the diagonal are second elements, and the values of the second elements are equal to 0.
[0206] Example 2
[0207] The difference between this example and Example 1 is that the M first sub-basic matrices used are different. In this example, taking M equal to 2 as an example, among the M first sub-basic matrices used, there is a first sub-basic matrix whose check column matrix has a Raptor-like structure, and another first sub-basic matrix whose check column matrix has the following characteristics: the column weight of the first a columns is greater than 0, the column weight of the remaining columns is equal to 0, and a is an integer greater than 0. Among them, the upper left corner m of the check column matrix with a Raptor-like structure b0 Line m b0 The submatrix formed by the columns is a matrix with a double diagonal structure, and a is equal to m b0 , mb0 is an integer greater than 1.
[0208] For example, m b0 For example, let 4, a, and M be 2, and two first sub-basic matrices be Hb0 and Hb1. The parity check matrix of the first first sub-basic matrix Hb0 has a raptor-like structure, and the parity check matrix of the second first sub-basic matrix Hb1 has the following characteristics: the column weights of the first a columns are greater than 0, and the column weights of the remaining columns are equal to 0, and a is an integer greater than 0.
[0209] Figure 15 is a schematic diagram of the structure of another first sub-basic matrix provided in an embodiment of the present application. As shown in Figure 15 , Figure 15 (a) corresponds to the first first sub-basic matrix Hb0, and Figure 15 (b) corresponds to the second first sub-basic matrix Hb1. The numbers in the first row of the figure represent column indices (0 to 39). Both first sub-basic matrices have a dimension of 8 rows and 40 columns. Submatrix 1501 and submatrix 1503 are the system column matrices for Hb0 and Hb1, respectively, and submatrix 1502 and submatrix 1504 are the parity check column matrices for Hb0 and Hb1, respectively.
[0210] It can be seen that the check column matrix 1502 of the first sub-basic matrix Hb0 is a matrix with 8 rows and 8 columns, which has a Raptor-like structure, that is, m b0 = 4. The submatrix formed by the top-left 4 rows and 4 columns has both row and column weights greater than 1, with row weights of 2 and 3, and column weights of 2 and 3, respectively. The submatrix formed by the bottom-left 4 rows and 4 columns contains a column with a column weight greater than 0. All elements in the submatrix formed by the top-right 4 rows and 4 columns are first elements. The submatrix formed by the bottom-right 4 rows and 4 columns has all diagonal elements, and all other elements are first elements, indicating a unit matrix structure. The submatrix formed by the top-left 4 rows and 4 columns of the parity check column matrix with a raptor-like structure has a dual-diagonal structure.
[0211] The check column matrix 1504 of the second first sub-basic matrix Hb1 is a matrix with 8 rows and 8 columns, and has the following characteristics: the column weights of the first a columns are greater than 0, the column weights of the remaining columns are equal to 0, and a is equal to 4. In this example, the lifting value is equal to 16.
[0212] Example 3
[0213] In this example, taking M equal to 2 as an example, the check column matrices of the two first sub-basic matrices used both have a Raptor-like structure. The check column matrix has the following characteristics: b0 Line m b0 The submatrix composed of columns is a matrix with a double diagonal structure, m b0 Equal to 4.
[0214] Exemplarily, taking two first sub-basic matrices Hb0 and Hb1 as an example, the first first sub-basic matrix Hb0 and the second first sub-basic matrix Hb1 both have a Raptor-like structure.
[0215] Figure 16 is a schematic diagram of the structure of another first sub-basic matrix provided in an embodiment of the present application. As shown in Figure 16, Figure 16 (a) corresponds to the first first sub-basic matrix Hb0, and Figure 16 (b) corresponds to the second first sub-basic matrix Hb1. The numbers in the first row of the figure represent column indices (0 to 39). The dimensions of the two first sub-basic matrices are both 8 rows and 40 columns. Submatrix 1601 and submatrix 1603 are the system column matrices of Hb0 and Hb1, respectively, and submatrix 1602 and submatrix 1604 are the parity check column matrices of Hb0 and Hb0, respectively. As can be seen from Figure 16, the parity check column matrices of the two first sub-basic matrices both have a Raptor-like structure. In this example, the lifting value is equal to 16.
[0216] Example 4
[0217] In this example, taking M equal to 2, of the two first sub-basic matrices used, the parity matrix of one first sub-basic matrix has a Raptor-like structure, and the parity matrix of the other first sub-basic matrix has the following characteristics: all elements are first elements. The parity matrix with a Raptor-like structure has the following characteristics: the upper left corner m b0 Line m b0 The submatrix composed of columns is a matrix with a double diagonal structure, m b0 Equal to 4.
[0218] Exemplarily, taking two first sub-basic matrices Hb0 and Hb1 as an example, the first sub-basic matrix Hb0 has a Raptor-like structure, and all elements in the first sub-basic matrix Hb1 are first elements.
[0219] Figure 17 is a schematic diagram of the structure of another first sub-basic matrix provided in an embodiment of the present application. As shown in Figure 17, Figure 17 (a) corresponds to the first sub-basic matrix Hb0, and Figure 17 (b) corresponds to the first sub-basic matrix Hb1. The numbers in the first row of the figure represent column indices (0 to 39). The dimensions of the two first sub-basic matrices are both 8 rows and 40 columns. Submatrix 1701 and submatrix 1703 are the system column matrices of Hb0 and Hb1, respectively, and submatrix 1702 and submatrix 1704 are the parity check column matrices of Hb0 and Hb0, respectively. As can be seen from Figure 17, the parity check column matrix of the first sub-basic matrix Hb0 has a raptor-like structure, and all elements in the parity check column matrix of the first sub-basic matrix Hb1 are first elements. In this example, the lifting value is equal to 16.
[0220] Example 5
[0221] In this example, taking M equal to 2 as an example, among the two first sub-basic matrices used, the check column matrix of one of the first sub-basic matrices has a unit matrix structure.
[0222] Exemplarily, taking two first sub-basic matrices Hb0 and Hb1 as an example, the two first sub-basic matrices both have a unit matrix structure.
[0223] Figure 18 is a schematic diagram of the structure of another first sub-basic matrix provided in an embodiment of the present application. As shown in Figure 18, Figure 18 (a) corresponds to the first sub-basic matrix Hb0, and Figure 18 (b) corresponds to the first sub-basic matrix Hb1. The numbers in the first row of the figure represent column indices (0 to 39). The dimensions of the two first sub-basic matrices are both 8 rows and 40 columns. Submatrix 1801 and submatrix 1803 are the system column matrices of Hb0 and Hb1, respectively, and submatrix 1802 and submatrix 1804 are the parity check column matrices of Hb0 and Hb0, respectively. As can be seen from Figure 18, the parity check column matrix of the first sub-basic matrix Hb0 has a unit matrix structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a unit matrix structure. In this example, the lifting value is equal to 16.
[0224] Example 6
[0225] In this example, taking M equal to 2 as an example, among the two first sub-basic matrices used, the check column matrix of one first sub-basic matrix has a unit matrix structure, and the check column matrix of the other first sub-basic matrix has the following characteristics: all elements are first elements.
[0226] Exemplarily, taking two first sub-basic matrices Hb0 and Hb1 as an example, the first sub-basic matrix Hb0 has a unit matrix structure, and all elements in the first sub-basic matrix Hb1 are first elements.
[0227] Figure 19 is a schematic diagram of the structure of another first sub-basic matrix provided in an embodiment of the present application. As shown in Figure 19, Figure 19 (a) corresponds to the first sub-basic matrix Hb0, and Figure 19 (b) corresponds to the first sub-basic matrix Hb1. The numbers in the first row of the figure represent column indices (0 to 39). The dimensions of the two first sub-basic matrices are both 8 rows and 40 columns. Submatrix 1901 and submatrix 1903 are the system column matrices of Hb0 and Hb1, respectively, and submatrix 1902 and submatrix 1904 are the parity check column matrices of Hb0 and Hb0, respectively. As can be seen from Figure 19, the parity check column matrix of the first sub-basic matrix Hb0 has a unit matrix structure, and all elements in the parity check column matrix of the first sub-basic matrix Hb1 are first elements. In this example, the lifting value is equal to 16.
[0228] Example 7
[0229] FIG20 is a schematic diagram of the structure of a check column matrix provided in an embodiment of the present application.
[0230] As shown in Figure 20. In this example, the parity matrix has 10 rows and 10 columns. Figure 20 shows six parity matrix structures, corresponding to: (a) a parity matrix with a raptor-like structure; (b) a parity matrix with a unit matrix structure; (c) a parity matrix with a lower triangular structure; (d) a parity matrix with a quasi-lower triangular structure; (e) a parity matrix with the first a columns having a column weight greater than 0 and the remaining columns having a column weight equal to 0, where a is 4; and (f) a parity matrix with all elements being the first element. The boost value can be equal to 16.
[0231] In an example, the two first sub-basic matrices are Hb0 and Hb1, respectively. The parity check column matrix of the first sub-basic matrix Hb0 has a Raptor-like structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a unit matrix structure.
[0232] In another example, the two first sub-basic matrices are Hb0 and Hb1, respectively. The parity check column matrix of the first sub-basic matrix Hb0 has a Raptor-like structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a lower triangular structure.
[0233] In yet another example, the two first sub-basic matrices are Hb0 and Hb1, respectively. The parity check column matrix of the first sub-basic matrix Hb0 has a Raptor-like structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a quasi-lower triangular structure.
[0234] In yet another example, the two first sub-basic matrices are Hb0 and Hb1, respectively. The parity check column matrix of the first sub-basic matrix Hb0 has a quasi-lower triangular structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a Raptor-like structure.
[0235] In another example, the two first sub-basic matrices are Hb0 and Hb1, the parity check column matrix of the first sub-basic matrix Hb0 has a quasi-lower triangular structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a unit matrix structure.
[0236] In yet another example, the two first sub-basic matrices are Hb0 and Hb1, respectively. The parity check column matrix of the first sub-basic matrix Hb0 has a quasi-lower triangular structure, and the parity check column matrix of the first sub-basic matrix Hb1 has a quasi-lower triangular structure.
[0237] In another example, the two first sub-basic matrices are Hb0 and Hb1, the check column matrix of the first sub-basic matrix Hb0 has a quasi-lower triangular structure, and the column weights of the first a columns in the check column matrix of the first sub-basic matrix Hb1 are greater than 0, and the column weights of the remaining columns are equal to 0.
[0238] In addition, exemplarily, when the third bit subsequence is generated according to the second sub-basic matrix, the second sub-basic matrix may have a Raptor-like structure as shown in FIG20 , or a unit matrix structure, or a lower triangular structure, or a quasi-lower triangular structure.
[0239] Example 8
[0240] In this example, assuming M equals 3, the three first sub-basic matrices are Hb0, Hb1, and Hb2. Of the three first sub-basic matrices used, at least one first sub-basic matrix has a check column matrix with a raptor-like structure, and / or at least one first sub-basic matrix has a check column matrix with a unit matrix structure, and / or at least one first sub-basic matrix has a check column matrix with a lower triangular structure.
[0241] In an example, the check column matrix of the first first sub-basic matrix Hb0 has a Raptor-like structure (as shown in (a) of Figure 20), the check column matrix of the second first sub-basic matrix Hb1 has a unit matrix structure (as shown in (b) of Figure 20), and the check column matrix of the third first sub-basic matrix Hb2 also has a unit matrix structure (as shown in (b) of Figure 20).
[0242] In another example, the parity check matrix of the first first sub-basic matrix Hb0 has a raptor-like structure (as shown in FIG. 20(a)). The parity check matrix of the second first sub-basic matrix Hb1 has a structure where the first a columns have a column weight greater than 0, while the remaining columns have a column weight equal to 0 (as shown in FIG. 20(e)). The parity check matrix of the third first sub-basic matrix Hb2 also has a structure where the first a columns have a column weight greater than 0, while the remaining columns have a column weight equal to 0 (as shown in FIG. 20(e)). Here, a can be 3, 4, 5, 6, or 8. For example, a is 4, which is equal to the number of rows in the core matrix of the first first sub-basic matrix Hb0.
[0243] In another example, the parity check matrix of the first first sub-basic matrix Hb0 has a unit matrix structure (as shown in FIG20(b)), the parity check matrix of the second first sub-basic matrix Hb1 has a structure where the first a columns have a column weight greater than 0, and the remaining columns have a column weight equal to 0 (as shown in FIG20(e)), and the parity check matrix of the third first sub-basic matrix Hb2 also has a structure where the first a columns have a column weight greater than 0, and the remaining columns have a column weight equal to 0 (as shown in FIG20(e)). Here, a can be 3, 4, 5, 6, or 8.
[0244] In addition, illustratively, two second sub-basic matrices are also included, and the two second sub-basic matrices may have two of the following structures: a Raptor-like structure, a unit matrix structure, a lower triangular structure, and a quasi-lower triangular structure.
[0245] In one example, the check column matrix of the first second sub-basic matrix Tb0 has a Raptor-like structure (as shown in (a) of FIG. 20 ), and the check column matrix of the second second sub-basic matrix Tb1 has a unit matrix structure (as shown in (b) of FIG. 20 ).
[0246] In another example, the check column matrix of the first second sub-basic matrix Tb0 has a Raptor-like structure (as shown in (a) of FIG. 20 ), and the check column matrix of the second second sub-basic matrix Tb1 has a quasi-lower triangular structure (as shown in (d) of FIG. 20 ).
[0247] In another example, the check column matrix of the first second sub-basic matrix Tb0 has a unit matrix structure (as shown in FIG. 20( b )), and the check column matrix of the second second sub-basic matrix Tb1 has a lower triangular structure (as shown in FIG. 20( c )).
[0248] As another example, the two second sub-basic matrices have the same structure. For example, the second sub-basic matrices Tb0 and Tb1 both have a Raptor-like structure (as shown in FIG. 20(a) ) or a unit matrix structure (as shown in FIG. 20(b) ).
[0249] Example 9
[0250] In this example, assuming M equals 4, the four first sub-basic matrices are Hb0, Hb1, Hb2, and Hb3. Of the four first sub-basic matrices used, the parity matrix of the first sub-basic matrix Hb0 has the following structures: 1. Raptor-like structure; 2. Identity matrix structure; 3. Lower triangular structure; 4. Quasi-lower triangular structure. The remaining three matrices have one of the following structures: 1. Raptor-like structure; 2. Identity matrix structure; 3. Lower triangular structure; 4. Quasi-lower triangular structure; 5. The first a columns have a column weight greater than 0 and the remaining columns have a column weight equal to 0, where a is an integer greater than 0; 6. All elements are first elements.
[0251] In one example, the check column matrix of the first first sub-basic matrix Hb0 has a Raptor-like structure (as shown in (a) in Figure 20), and the check column matrices of the second to fourth first sub-basic matrices all have: the column weight of the first a columns is greater than 0 and the column weight of the remaining columns is equal to 0, a is equal to 4, or a lower triangular structure, or all elements are first elements, or a quasi-lower triangular structure.
[0252] In another example, the check column matrix of the first first sub-basic matrix Hb0 has a unit matrix structure (as shown in (a) in Figure 20), and the check column matrices of the second to fourth first sub-basic matrices all have: the column weight of the first a columns is greater than 0 and the column weight of the remaining columns is equal to 0, a is equal to 4, or a lower triangular structure, or all elements are first elements, or a quasi-lower triangular structure.
[0253] In addition, illustratively, three second sub-basic matrices are included, namely Tb0, Tb1 and Tb2. The three second sub-basic matrices can have at least one of the following structures: Raptor-like structure, unit matrix structure, lower triangular structure, and quasi-lower triangular structure.
[0254] In one example, the check column matrices of the three second sub-basic matrices all have a Raptor-like structure, or a unit matrix structure, or a lower triangular structure.
[0255] In another example, among the three second sub-basic matrices, the check column matrix of the first second sub-basic matrix Tb0 has a Raptor-like structure, the check column matrix of the second second sub-basic matrix Tb1 has a unit matrix structure, and the check column matrix of the third second sub-basic matrix Tb2 has a lower triangular structure.
[0256] In another example, among the three second sub-basic matrices, the check column matrix of the first second sub-basic matrix Tb0 has a Raptor-like structure, the check column matrix of the second second sub-basic matrix Tb1 has a unit matrix structure, and the check column matrix of the third second sub-basic matrix Tb2 has a unit matrix structure.
[0257] It should be understood that any transformation based on the above-described examples (such as the value of M, any transformation combination of the first sub-basic matrix and the second sub-basic matrix structure, etc.) should be included in the scope of protection of this application.
[0258] As shown in FIG21 , an embodiment of the present application provides a decoding method, which is applied to a decoding device. The method includes the following steps:
[0259] S2101. Receive all or part of the bits of a second bit sequence.
[0260] S2102: Decode all or part of the bits of the second bit sequence based on the basic matrix and lifting value of the spatially coupled LDPC to obtain a first bit sequence.
[0261] The related introduction of the basic matrix of spatially coupled LDPC can be found in the previous article and will not be repeated here.
[0262] In some embodiments, the decoding device may use pipeline decoding, sliding window decoding, or other methods to decode all or part of the bits of the received second bit sequence.
[0263] In the embodiment of the present application, the second bit sequence is generated based on the spatially coupled LDCP coding method, so all or part of the bits of the received second bit sequence are decoded, and the decoding complexity is low.
[0264] It should be understood that the above-mentioned names of matrices and bit sequences are merely exemplary and may be named differently in different scenarios. For example, the second sub-basic matrix may also be named the tail sub-basic matrix, the first bit subsequence may also be named the information bit subsequence, the second bit subsequence may also be named the coding bit subsequence, and the third bit subsequence may also be named the tail bit subsequence.
[0265] It is understandable that, in order to realize the above functions, the encoding device and the decoding device include hardware structures and / or software modules corresponding to the execution of each function. It should be easily appreciated by those skilled in the art that, in conjunction with the algorithm steps of each example described in the embodiments of the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a manner such as hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0266] The embodiment of the present application can divide the encoding device or decoding device into functional modules according to the above method embodiment. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one functional module. The above integrated module can be implemented in the form of hardware or software. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The following is an example of dividing each functional module corresponding to each function.
[0267] FIG22 is a schematic diagram of the structure of an encoding device provided in an embodiment of the present application, which can execute the encoding method provided in the above method embodiment. As shown in FIG22 , the encoding device includes: an acquisition module 2201, an encoding module 2202, and a sending module 2203.
[0268] The acquisition module 2201 is used to acquire a first bit sequence to be encoded.
[0269] The encoding module 2202 is used to encode the first bit sequence based on the basic matrix and lifting value of the spatially coupled LDPC to obtain a second bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, the sub-basic matrix groups include M first sub-basic matrices, and L and M are both positive integers.
[0270] The sending module 2203 is configured to send all or part of the bits of the second bit sequence.
[0271] The related introduction of the basic matrix of spatially coupled LDPC can be found in the previous article and will not be repeated here.
[0272] In some embodiments, the first bit sequence includes L first bit subsequences; the encoding module 2202 is specifically used to encode the L first bit subsequences based on M first sub-basic matrices and lifting values to obtain L second bit subsequences; and obtain a second bit sequence based on the L second bit subsequences.
[0273] In some embodiments, the first bit sequence includes L first bit subsequences; the encoding module 2202 is specifically used to encode the L first bit subsequences based on M first sub-basis matrices and lifting values to obtain L second bit subsequences; based on N second sub-basis matrices, lifting values and the last N first sub-basis matrices in the M first sub-basis matrices, encode the last N second bit subsequences in the L second bit subsequences to obtain N third bit subsequences; and obtain a second bit sequence based on the L second bit subsequences and the N third bit subsequences.
[0274] FIG23 is a schematic diagram of the structure of a decoding device provided in an embodiment of the present application, which can execute the decoding method provided in the above method embodiment. As shown in FIG23 , the decoding device includes: a receiving module 2301 and a decoding module 2302.
[0275] The receiving module 2301 is configured to receive all or part of the bits of the second bit sequence.
[0276] The decoding module 2302 is used to decode all or part of the bits of the second bit sequence based on the basic matrix and lifting value of the spatially coupled low-density parity-check code LDPC to obtain a first bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, the sub-basic matrix groups include M first sub-basic matrices, and L and M are both positive integers.
[0277] The related introduction of the basic matrix of spatially coupled LDPC can be found in the previous article and will not be repeated here.
[0278] In the case of implementing the functions of the above-mentioned integrated modules in hardware, the embodiments of the present application provide another possible structure of the communication device (which may be the above-mentioned encoding device or decoding device) involved in the above-mentioned embodiments. As shown in Figure 24, the communication device 240 includes: a processor 2402 and a bus 2404. Optionally, the communication device may also include a memory 2401; optionally, the communication device may also include a communication interface 2403.
[0279] Processor 2402 may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of this application. Processor 2402 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the embodiments of this application. Processor 2402 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, or a combination of a DSP and a microprocessor.
[0280] The communication interface 2403 (also called a transmitter) is used to connect to other devices via a communication network, which may be Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0281] The memory 2401 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
[0282] As a possible implementation, the memory 2401 can exist independently of the processor 2402. The memory 2401 can be connected to the processor 2402 via a bus 2404 to store instructions or program codes. When the processor 2402 calls and executes the instructions or program codes stored in the memory 2401, the encoding method and decoding method provided in the embodiments of the present application can be implemented.
[0283] In another possible implementation, the memory 2401 may also be integrated with the processor 2402 .
[0284] Bus 2404 can be an Extended Industry Standard Architecture (EISA) bus, etc. Bus 2404 can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, FIG24 shows only one thick line, but this does not mean that there is only one bus or only one type of bus.
[0285] In some embodiments, the memory 2401 may store a local cache of the first bit sequence, the second bit sequence, the first sub-basis matrix, the second sub-basis matrix, and the lifting value. Furthermore, the memory 2401 may store program instructions, which the processor 2402 executes to encode the first bit sequence to obtain a second bit sequence, and then transmit part or all of the second bit sequence via the communication interface 2403.
[0286] In some embodiments, the processor 2402 may execute the method described in S401 - S403 above, and may also execute the method described in S2101 - S2102 above.
[0287] Some embodiments of the present application provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium), which stores computer program instructions. When the computer program instructions are executed on a computer, the computer executes the encoding and decoding methods described in any of the above embodiments.
[0288] Exemplarily, the above-mentioned computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memories (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described herein may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0289] An embodiment of the present application provides a computer program product comprising instructions. When the computer program product is run on a computer, the computer is enabled to execute the beam switching method described in any one of the above embodiments.
[0290] The above is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A coding method, characterized in that: The method comprises: Obtaining a first bit sequence to be encoded; Based on a basic matrix and a lifting value of a spatially coupled low-density parity-check code LDPC, the first bit sequence is encoded to obtain a second bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, the sub-basic matrix groups include M first sub-basic matrices, and L and M are both positive integers; Send all or part of the bits of the second bit sequence.
2. The method according to claim 1, characterized in that The first sub-basic matrix includes a systematic column matrix and a check column matrix. The systematic column matrix is composed of the first k sub-basic matrix. b The check column matrix is composed of the last m elements of the first sub-basic matrix. b The elements of the column, k b With m b The sum is equal to the number of columns of the first sub-basic matrix, k b With m b All are positive integers.
3. The method according to claim 2, characterized in that The check column matrix of at least one of the M first sub-basic matrices adopts any one of the following structures: Raptor-like structure; Unit array structure; Lower triangle structure; Quasi-lower triangular structure; A first preset structure, wherein the column weights of the first a columns of the check column matrix using the first preset structure are greater than 0, the column weights of the other columns except the first a columns are equal to 0, a is a positive integer, the column weight is the number of second elements in a column of elements, and the second element is used to indicate a cyclic shift of a unit matrix; or, A second preset structure, in which all elements of the check column matrix using the second preset structure are first elements, and the first elements are used to indicate an all-zero square matrix.
4. The method according to claim 3, characterized in that Among the M first sub-basic matrices, the check column matrix of the first first sub-basic matrix adopts a Raptor-like structure or a unit matrix structure.
5. The method according to claim 4, characterized in that When the length of the first bit sequence is greater than a first threshold, the check column matrix of the first first sub-basic matrix adopts a Raptor-like structure, and the first threshold is a positive integer; or, when the length of the first bit sequence is less than or equal to a second threshold, the check column matrix of the first first sub-basic matrix adopts a unit matrix structure, the second threshold is a positive integer, and the first threshold is greater than or equal to the second threshold.
6. The method according to claim 4, characterized in that The first bit sequence includes L first bit subsequences. When the length of the first bit subsequence is greater than a third threshold, the check column matrix of the first first sub-basic matrix adopts a Raptor-like structure, and the third threshold is a positive integer; or, when the length of the first bit subsequence is less than or equal to a fourth threshold, the check column matrix of the first first sub-basic matrix adopts a unit matrix structure, the fourth threshold is a positive integer, the third threshold is greater than or equal to the fourth threshold, and L is a positive integer.
7. The method according to claim 3, characterized in that Among the M first sub-basic matrices, the structure of the check column matrix of the first first sub-basic matrix can be determined by at least one of the following parameters: the length of the first bit sequence, the number of first bit subsequences included in the first bit sequence, and the length of the first bit subsequence.
8. The method according to claim 3, characterized in that Among the M first sub-basic matrices, the check column matrix of the first first sub-basic matrix adopts a Raptor-like structure, and the check column matrix of the second first sub-basic matrix adopts a unit matrix structure; or, Among the M first sub-basic matrices, the check column matrix of the first first sub-basic matrix adopts a unit matrix structure, and the check column matrix of the second first sub-basic matrix adopts a Raptor-like structure.
9. The method according to claim 3, characterized in that: Among the M first sub-basic matrices, the check column matrix of the first first sub-basic matrix adopts a Raptor-like structure, and the check column matrix of the second first sub-basic matrix adopts a first preset structure.
10. The method according to claim 9, characterized in that The value of a is less than or equal to the number of rows of the core matrix of the first sub-basic matrix.
11. The method according to claim 10, characterized in that The number of rows of the core matrix of the first first sub-basic matrix is equal to 3, 4, 5, 6, or 8.
12. The method according to claim 3, characterized in that Among the M first sub-basic matrices, the check column matrix of the first first sub-basic matrix adopts a unit matrix structure, and the check column matrix of the second first sub-basic matrix adopts a first preset structure.
13. The method according to claim 12, characterized in that The a is equal to 2, 3, 4, 5, 6, or 8.
14. The method according to claim 2, characterized in that A system column matrix of at least one first sub-basic matrix among the M first sub-basic matrices has b columns with a column weight equal to 0, and the column weights of other columns except the b columns are greater than 0, the column weight is the number of second elements in a column, and b is a positive integer.
15. The method according to claim 14, characterized in that The b columns with column weight equal to 0 are the first b columns of the system column matrix.
16. The method according to claim 1, characterized in that The number of rows of the M first sub-basic matrices is m b , the number of columns of the M first sub-basic matrices is n b , n b Greater than m b , m b and n b All are positive integers.
17. The method according to claim 1, characterized in that The first bit sequence includes L first bit subsequences; The encoding of the first bit sequence based on the basic matrix and the lifting value of the spatially coupled LDPC to obtain the second bit sequence includes: Based on the M first sub-basic matrices and the lifting value, the L first bit subsequences are encoded to obtain L second bit subsequences; Based on the L second bit subsequences, the second bit sequence is obtained.
18. The method according to claim 1, characterized in that The basic matrix also includes N second sub-basic matrices, where N is a positive integer.
19. The method according to claim 18, characterized in that The N second sub-basic matrices are arranged on the diagonal of the lower right sub-matrix of the basic matrix.
20. The method according to claim 18, characterized in that The number N of the second sub-basic matrices is smaller than the number M of the first sub-basic matrices.
21. The method according to claim 18, characterized in that The second sub-basic matrix adopts any one of the following structures: Raptor-like structure; Unit array structure; Lower triangle structure; Quasi-lower triangle structure.
22. The method according to claim 18, characterized in that The number of columns of the N second sub-basic matrices is m b , and the number of rows of the N second sub-basic matrices is m b , m b Is a positive integer.
23. The method according to claim 18, characterized in that The first bit sequence includes L first bit subsequences; The first bit sequence is encoded based on the basic matrix and the lifting value of the spatially coupled low-density parity check code LDPC, to the second bit sequence, comprising: Based on the M first sub-basic matrices and the lifting value, the L first bit subsequences are encoded to obtain L second bit subsequences; Based on the N second sub-basic matrices, the lifting value, and the last N first sub-basic matrices among the M first sub-basic matrices, encoding the last N second bit subsequences among the L second bit subsequences to obtain N third bit subsequences; The second bit sequence is obtained based on the L second bit subsequences and the N third bit subsequences.
24. The method according to claim 1, characterized in that The boost value is equal to 2 raised to a positive integer power.
25. A decoding method, characterized in that: The method comprises: receiving all or part of the bits of a second bit sequence; Based on the basic matrix and lifting value of the spatially coupled low-density parity-check code LDPC, all or part of the bits of the second bit sequence are decoded to obtain a first bit sequence; wherein the basic matrix includes L identical and diagonally arranged sub-basic matrix groups, the sub-basic matrix groups include M first sub-basic matrices, and L and M are both positive integers.
26. The method according to claim 25, characterized in that The first sub-basic matrix includes a systematic column matrix and a check column matrix. The systematic column matrix is composed of the first k sub-basic matrix. b The check column matrix is composed of the last m elements of the first sub-basic matrix. b The elements of the column, k b With m b The sum is equal to the number of columns of the first sub-basic matrix, k b With m b All are positive integers; The check column matrix of at least one of the M first sub-basic matrices adopts any one of the following structures: Raptor-like structure; Unit array structure; Lower triangle structure; Quasi-lower triangular structure; A first preset structure, wherein the column weights of the first a columns of the check column matrix using the first preset structure are greater than 0, the column weights of the other columns except the first a columns are equal to 0, a is a positive integer, the column weight is the number of second elements in a column of elements, and the second element is used to indicate a cyclic shift of a unit matrix; or, A second preset structure, in which all elements of the check column matrix using the second preset structure are first elements, and the first elements are used to indicate an all-zero square matrix.
27. The method according to claim 25, characterized in that Among the M first sub-basic matrices, the check column matrix of the first first sub-basic matrix adopts a Raptor-like structure or a unit matrix structure.
28. The method according to claim 25, characterized in that The basic matrix also includes N second sub-basic matrices, and the N second sub-basic matrices are arranged on the diagonal of the lower right sub-matrix of the basic matrix, where N is a positive integer.
29. A communication device, characterized in that: The method comprises a memory, a processor, and computer program instructions stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 28 when executing the computer program instructions.
30. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises computer program instructions; wherein, when the computer program instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 28.
Citation Information
Patent Citations
Coding method and device, decoding method and device and storage medium
CN119154890A
Structured LDPC coding and decoding method and device
CN107370490A
Quasi-cyclic low-density parity check (LDPC) coding method and device
CN108270448A
Quasi-cyclic low density parity check code design method and device
CN109120374A
Information processing method and apparatus, and communication device
CN109327225A
