WO2021017977A1 - 编码方法、装置、设备及计算机可读存储介质 - Google Patents

编码方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
WO2021017977A1
WO2021017977A1 PCT/CN2020/103535 CN2020103535W WO2021017977A1 WO 2021017977 A1 WO2021017977 A1 WO 2021017977A1 CN 2020103535 W CN2020103535 W CN 2020103535W WO 2021017977 A1 WO2021017977 A1 WO 2021017977A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
nmax
read
rows
columns
Prior art date
Application number
PCT/CN2020/103535
Other languages
English (en)
French (fr)
Inventor
戴胜辰
张华滋
王献斌
黄凌晨
李榕
乔云飞
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021017977A1 publication Critical patent/WO2021017977A1/zh
Priority to US17/587,425 priority Critical patent/US11777532B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing

Definitions

  • the present invention relates to the field of communication technology, in particular to an encoding method, an encoding device, an encoding device, and a computer-readable storage medium.
  • error detection and error detection techniques must be used for digital signals, that is, error detection and error detection coding techniques, to enhance data transmission in the channel against various interferences.
  • the error and error detection coding for the digital signal to be transmitted in the channel is the channel coding.
  • the control channel of Enhanced Mobile Broadband adopts the coding scheme of Polar code, and the data channel adopts Low-density Parity-check (LDPC).
  • LDPC Low-density Parity-check
  • LDPC coding adopts incremental redundant automatic retransmission request.
  • ARQ Automatic Repeat-reQuest
  • ARQ and forward error correction are mixedly used, that is, a hybrid automatic repeat request (HARQ, Hybrid Automatic Repeat reQuest) system.
  • HARQ Forward Error Correction
  • HARQ Hybrid Automatic Repeat reQuest
  • CRC cyclic redundancy check
  • the existing Reed-Muller (Reed-Muller) code in the long term evolution (LTE), that is, the LTE-RM code is applied to the uplink control channel and downlink control channel short message commands of the LTE system
  • LTE-RM code long term evolution
  • the first RM code (20,13), whose information bit length supports a positive integer less than or equal to 13, and the codeword length after encoding is 20 bits
  • the second RM code 32,11
  • its information bit length supports positive integers less than or equal to 11
  • the codeword length after encoding is 32 bits
  • the third RM code its information bits support positive integers with a length greater than or equal to 12 and less than or equal to 22
  • the codeword length after encoding is 48 bits.
  • the encoding process is to first divide the information vector into two vectors with a length difference of less than or equal to 1 bit, and then encode the two vectors separately to obtain two codewords with a length of 24. After the two code words are concatenated, the final code word is obtained.
  • the length of the binary information vector supported by the LTE-RM code is a positive integer less than or equal to 22. Therefore, the working range of the LTE-RM code is very limited, that is, the length of the codeword is limited; and the LTE-RM code is in the information vector The performance is poor when the length is less than or equal to 5, and incremental HARQ is not supported.
  • the embodiment of the invention discloses an encoding method, an encoding device and an encoding device, which can solve the problem that the working interval of the LTE-RM code in the prior art is very limited, the performance is poor when the information vector length is less than or equal to 5, and incremental HARQ is not supported.
  • Technical issues can solve the problem that the working interval of the LTE-RM code in the prior art is very limited, the performance is poor when the information vector length is less than or equal to 5, and incremental HARQ is not supported.
  • an embodiment of the present application provides an encoding method, which includes:
  • the second matrix is read from the first matrix in the preset code table;
  • the first matrix includes reading from the preset code table Take the matrix corresponding to the maximum supported code length Nmax and under the Rt;
  • K rows (Nmax-Nmax*Rt) columns of the first matrix in the first direction are consistent with K rows (Nmax-Nmax*Rt) columns of the second matrix in the second direction.
  • a linear block code with a nested structure can be obtained, and a linear block code with a nested structure is obtained by searching.
  • the block code has better performance; then when the linear block code with the nested structure of the embodiment of the present application is used for decoding, the nested structure is beneficial to the realization of HARQ.
  • the reading out the second matrix according to the first matrix in the preset code table includes:
  • the second matrix read from the first matrix in the above manner can make the second matrix and the first matrix have a nested relationship, and, under the condition that N is fixed, each time read The different second matrix also satisfies the nesting relationship.
  • the reading K rows (N-K) columns from the preset first position in the second matrix to obtain the third matrix includes:
  • the encoding method may further include:
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction .
  • the coding method when the first code rate K/Nmax is greater than the threshold code rate Rt, a linear block code with a nested structure can be obtained, and the nested structure obtained by searching The linear block code has better performance; then when the linear block code with the nested structure of the embodiment of the present application is used for decoding, the nested structure is beneficial to the realization of HARQ.
  • the reading out the fourth matrix according to the first matrix in the preset code table includes:
  • the fourth matrix read from the first matrix in the above manner can make the fourth matrix and the first matrix have a nested relationship, and, under the condition that N is fixed, each read The different fourth matrix also satisfies the nesting relationship.
  • the reading K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix includes:
  • Reading the fifth matrix through the leftmost or rightmost side not only can the different fifth matrix read each time meet the nesting relationship under the condition of fixed K, but also can improve the reading efficiency , Thereby improving coding efficiency.
  • the first direction is the uppermost part of the matrix; the second direction is the rightmost part of the matrix.
  • first direction is the bottom of the matrix; the second direction is the rightmost of the matrix.
  • first direction is the uppermost of the matrix; the second direction is the leftmost of the matrix.
  • first direction is the bottom of the matrix; the second direction is the leftmost of the matrix.
  • the application is not limited to the above direction, as long as the nesting relationship of the linear block code in the embodiment of the application is satisfied.
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5 ;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix Is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • an embodiment of the present application provides an encoding method, including:
  • the fourth matrix is read out from the first matrix in the preset code table;
  • the first matrix includes data from the preset code table The matrix corresponding to the read maximum supported code length Nmax and under the Rt;
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction.
  • the reading out the fourth matrix according to the first matrix in the preset code table includes:
  • the reading K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix includes:
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5 ;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix Is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • an encoding device including:
  • the first reading unit is configured to read the second matrix from the first matrix in the preset code table when the first code rate K/Nmax is less than or equal to the threshold code rate Rt; the first matrix includes The matrix corresponding to the maximum supported code length Nmax read in the preset code table under the Rt;
  • the second reading unit is configured to read K rows (N-K) columns from the preset first position in the second matrix to obtain a third matrix;
  • the first adding unit is configured to add a unit matrix with K rows and K columns on the left side of the third matrix to obtain a generator matrix of (N, K) linear block codes;
  • K rows (Nmax-Nmax*Rt) columns of the first matrix in the first direction are consistent with K rows (Nmax-Nmax*Rt) columns of the second matrix in the second direction.
  • the first reading unit is specifically configured to read the preset code table in the case that the first code rate K/Nmax is less than or equal to the threshold code rate Rt K rows (Nmax-Nmax*Rt) columns of the first matrix in the first direction to obtain matrix Z21; read the K rows next to the matrix Z21 in the third direction in the preset code table ( Nmax*Rt-K) column to obtain a matrix Z22; the third direction is opposite to the second direction; and the matrix Z21 and the matrix Z22 are combined to obtain a second matrix.
  • the second reading unit is specifically configured to read K rows (N-K) columns from the leftmost or rightmost in the second matrix to obtain the third matrix.
  • the encoding device further includes:
  • a third reading unit configured to read a fourth matrix from the first matrix in the preset code table when the first code rate K/Nmax is greater than the threshold code rate Rt;
  • the fourth reading unit is configured to read K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix;
  • the second adding unit is configured to add a unit matrix with K rows and K columns to the left of the fifth matrix to obtain a generator matrix of (N, K) linear block codes;
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction .
  • the third reading unit is specifically configured to: in the case that the first code rate K/Nmax is greater than the threshold code rate Rt, read all the codes in the preset code table.
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is used to obtain the matrix Z23; in the preset code table, read the (K) next to the matrix Z23 in the fourth direction.
  • -Nmax*Rt) rows (Nmax-K) columns to obtain a matrix Z24; the fourth direction is opposite to the first direction; and the matrix Z23 and the matrix Z24 are combined to obtain a fourth matrix.
  • the fourth reading unit is specifically configured to read K rows (N-K) columns from the leftmost or rightmost in the fourth matrix to obtain the fifth matrix.
  • the first direction is the uppermost part of the matrix; the second direction is the rightmost part of the matrix.
  • first direction is the bottom of the matrix; the second direction is the rightmost of the matrix.
  • first direction is the uppermost of the matrix; the second direction is the leftmost of the matrix.
  • first direction is the bottom of the matrix; the second direction is the leftmost of the matrix.
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5 ;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix Is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • an encoding device including:
  • the third reading unit is configured to read the fourth matrix from the first matrix in the preset code table when the first code rate K/Nmax is greater than the threshold code rate Rt; the first matrix includes The matrix corresponding to the maximum supported code length Nmax read from the preset code table under the Rt;
  • the fourth reading unit is configured to read K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix;
  • the second adding unit is configured to add a unit matrix with K rows and K columns to the left of the fifth matrix to obtain a generator matrix of (N, K) linear block codes;
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction.
  • the third reading unit is specifically configured to read the first matrix in the preset code table when the first code rate K/Nmax is greater than the threshold code rate Rt.
  • Nmax*Rt row (Nmax-K) column in the second direction matrix Z23 is obtained; in the preset code table, read (K-Nmax*Rt) next to the matrix Z23 in the fourth direction ) Row (Nmax-K) column to obtain a matrix Z24; the fourth direction is opposite to the first direction; combine the matrix Z23 and the matrix Z24 to obtain a fourth matrix.
  • the fourth reading unit is specifically configured to read K rows (N-K) columns from the leftmost or rightmost in the fourth matrix to obtain the fifth matrix.
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5 ;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix Is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • an embodiment of the present application provides an encoding device including a processor configured to call a stored program, and perform the following steps:
  • the second matrix is read from the first matrix in the preset code table;
  • the first matrix includes reading from the preset code table Take the matrix corresponding to the maximum supported code length Nmax and under the Rt;
  • K rows (Nmax-Nmax*Rt) columns of the first matrix in the first direction are consistent with K rows (Nmax-Nmax*Rt) columns of the second matrix in the second direction.
  • the reading out the second matrix according to the first matrix in the preset code table includes:
  • the reading K rows (N-K) columns from the preset first position in the second matrix to obtain the third matrix includes:
  • the encoding method may further include:
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction .
  • the reading out the fourth matrix according to the first matrix in the preset code table includes:
  • the reading K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix includes:
  • the first direction is the uppermost part of the matrix; the second direction is the rightmost part of the matrix.
  • first direction is the bottom of the matrix; the second direction is the rightmost of the matrix.
  • first direction is the uppermost of the matrix; the second direction is the leftmost of the matrix.
  • first direction is the bottom of the matrix; the second direction is the leftmost of the matrix.
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5 ;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix Is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • an embodiment of the present application provides an encoding device, including a processor, the processor is configured to call a stored program, and perform the following steps:
  • the fourth matrix is read out from the first matrix in the preset code table;
  • the first matrix includes data from the preset code table The matrix corresponding to the read maximum supported code length Nmax and under the Rt;
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction.
  • the reading out the fourth matrix according to the first matrix in the preset code table includes:
  • the reading K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix includes:
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5 ;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix Is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • an embodiment of the present application provides a computer-readable storage medium that stores a program, where the program includes some or all of the steps used to execute any method of the first aspect Instructions.
  • the embodiments of the present application provide a computer program product, which when the computer program product runs on a computer, causes the computer to execute part or all of the steps of any method in the first aspect.
  • Figure 1a is a schematic diagram of a communication system provided by an embodiment of the present application.
  • FIG. 1b is a schematic diagram of a system of a sending end and a receiving end provided by an embodiment of the present application;
  • FIG. 2 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of the HRAQ principle provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
  • Fig. 6 is a schematic diagram of a preset code table provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of another embodiment of the preset code table provided by the present application.
  • FIG. 8 is a schematic diagram of the principle of matrix reading provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of another embodiment of matrix reading provided by the present application.
  • FIG. 10 is a schematic diagram of the principle of another embodiment of matrix reading provided by the present application.
  • FIG. 11 is a schematic diagram of another embodiment of matrix reading provided by the present application.
  • FIG. 12 is a schematic diagram of code distance performance data provided by an embodiment of the present application.
  • FIG. 13 is a schematic diagram of data of another embodiment of code distance performance provided by the present application.
  • 15 is a schematic diagram of data of another embodiment of decoding performance provided by the present application.
  • FIG. 16 is a schematic diagram of data of another embodiment of decoding performance provided by the present application.
  • Figure 17 is a schematic structural diagram of an encoding device provided by an embodiment of the present application.
  • Fig. 18 is a schematic structural diagram of another embodiment of an encoding device provided by the present application.
  • Fig. 1a is a schematic diagram of a communication system provided by an embodiment of this application.
  • the communication system 100 may include at least one network device 101 (only one is shown) and one or more terminal devices 102 connected to the network device 101.
  • the network device 101 may perform wireless communication with the terminal device 102 through one or more antennas. Each network device 101 can provide communication coverage for its corresponding coverage area 104.
  • the coverage area 104 corresponding to the network device 101 may be divided into multiple sectors (sector), where one sector corresponds to a part of the coverage area (not shown).
  • the network device 101 may also be connected to the core network.
  • the sending end may be the network device 101 and the receiving end is the terminal device 102; or the sending end is the terminal device 102 and the receiving end is the network device 101.
  • the network device 101 may include: a base transceiver station (Base Transceiver Station), a wireless transceiver, a basic service set (Basic Service Set, BSS), and an extended service set (Extended Service Set, ESS), Node B (Node B), evolved Node B (evolved NodeB, eNB or eNodeB), or next-generation Node B (gNB), etc.
  • the communication system 100 may include several different types of network devices 101, such as a macro base station (macro base station), a micro base station (micro base station), and so on.
  • the network device 101 may also be a small station, a transmission reference point (TRP), etc.
  • the network device 101 may apply different wireless technologies, such as cell wireless access technology or WLAN wireless access technology.
  • the terminal device 102 is a device with wireless transceiver function. It can be deployed on land, including indoor or outdoor, handheld, wearable, or vehicle-mounted; it can also be deployed on the water (such as a ship); Deploy in the air (for example, on airplanes, balloons, satellites, etc.).
  • the terminal device may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (Augmented Reality, AR) terminal device, an industrial control ( Wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grids, and transportation safety Wireless terminal, wireless terminal in smart city, wireless terminal in smart home, etc.
  • the embodiment of this application does not limit the application scenario.
  • Terminal equipment can sometimes be referred to as User Equipment (UE), terminal (terminal), access terminal, UE unit, UE station, mobile equipment, mobile station, mobile station, mobile terminal, mobile client , Mobile unit, remote station, remote terminal equipment, remote unit, wireless unit, wireless communication equipment, user agent or user device, etc.
  • UE User Equipment
  • terminal terminal
  • access terminal UE unit, UE station, mobile equipment, mobile station, mobile station, mobile terminal, mobile client , Mobile unit, remote station, remote terminal equipment, remote unit, wireless unit, wireless communication equipment, user agent or user device, etc.
  • FIG. 2 shows a terminal device provided by an embodiment of the present application.
  • the terminal device 200 may include: an input and output module (including an audio input and output module 218, a key input module 216, a display 220, etc.), a user interface 202, one or more processors 204, a transmitter 206, and a receiver 208, coupler 210, antenna 214, and memory 212.
  • an input and output module including an audio input and output module 218, a key input module 216, a display 220, etc.
  • the antenna 214 can be used to convert electromagnetic energy into electromagnetic waves in free space, or to convert electromagnetic waves in free space into electromagnetic energy in transmission lines.
  • the coupler 210 is used to divide the mobile communication signal received by the antenna 214 into multiple channels and distribute them to multiple receivers 208.
  • the transmitter 206 can be used to transmit and process the signal output by the processor 204.
  • the receiver 208 can be used to receive and process the mobile communication signal received by the antenna 214.
  • the transmitter 206 and the receiver 208 can be regarded as a wireless modem.
  • the number of the transmitter 206 and the receiver 208 may each be one or more.
  • the terminal device 200 may also include other communication components, such as a GPS module, a Bluetooth (Bluetooth) module, a wireless high-fidelity (Wireless Fidelity, Wi-Fi) module, etc. Not limited to the above-mentioned wireless communication signals, the terminal device 200 may also support other wireless communication signals, such as satellite signals, shortwave signals, and so on. Not limited to wireless communication, the terminal device 200 may also be configured with a wired network interface (such as a LAN interface) 201 to support wired communication.
  • a wired network interface such as a LAN interface
  • the input and output module can be used to realize the interaction between the terminal device 200 and the user/external environment, and can mainly include an audio input and output module 218, a key input module 216, a display 220, and the like. Specifically, the input and output module may also include a camera, a touch screen, a sensor, and so on. Wherein, the input and output modules all communicate with the processor 204 through the user interface 202.
  • the memory 212 may be coupled with the processor 204 through a bus or an input/output port, and the memory 212 may also be integrated with the processor 204.
  • the memory 212 is used to store various software programs and/or multiple sets of instructions.
  • the memory 212 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
  • the memory 212 may store an operating system (hereinafter referred to as system), such as an embedded operating system such as ANDROID, IOS, WINDOWS, or LINUX.
  • the memory 212 may also store a network communication program, which may be used to communicate with one or more additional devices, one or more terminal devices, and one or more network devices.
  • the memory 212 can also store a user interface program, which can vividly display the content of the application program through a graphical operation interface, and receive user control operations on the application program through input controls such as menus, dialog boxes, and keys. .
  • the memory 212 may be used to store an implementation program of the encoding method provided by one or more embodiments of the present application on the terminal device 200 side.
  • the implementation of the encoding method provided in one or more embodiments of the present application please refer to the subsequent embodiments.
  • the processor 204 can be used to read and execute computer readable instructions. Specifically, the processor 204 may be used to call a program stored in the memory 212, such as an implementation program of the encoding method provided by one or more embodiments of the present application on the terminal device 200 side, and execute the instructions contained in the program to implement subsequent The method involved in the embodiment.
  • the processor 204 can support: Global System for Mobile Communication (GSM) (2G) communication, Wideband Code Division Multiple Access (WCDMA) (3G) communication, and Long Term Evolution (Long Term Evolution) , LTE) (4G) communication, and one or more of 5G communication, etc.
  • GSM Global System for Mobile Communication
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • 4G Long Term Evolution
  • the processor 204 when the processor 204 receives any message or data, it specifically drives or controls the receiver 208 to do the reception. Therefore, the processor 204 can be regarded as a control center that performs transmission or reception, and the transmitter 206 and the receiver 208 are specific performers of the transmission and reception operations.
  • the terminal device 200 may be the terminal device 102 in the communication system 100 shown in FIG. 1a, and may be implemented as a User Equipment (UE), a terminal (terminal), an access terminal, a UE unit, a UE station, Mobile devices, mobile stations, mobile stations, mobile terminals, etc.
  • UE User Equipment
  • terminal terminal
  • an access terminal a UE unit
  • UE station Mobile devices, mobile stations, mobile stations, mobile terminals, etc.
  • terminal device 200 shown in FIG. 2 is only an implementation manner of the embodiment of the present application. In actual applications, the terminal device 200 may also include more or fewer components, which is not limited here.
  • the network device 300 may include: one or more processors 301, a memory 302, a network interface 303, a transmitter 305, a receiver 306, a coupler 307, and an antenna 308. These components can be connected through the bus 304 or in other ways.
  • FIG. 3 uses the bus connection as an example. among them:
  • the network interface 303 can be used for the network device 300 to communicate with other communication devices, such as other network devices.
  • the network interface 303 may be a wired interface.
  • the transmitter 305 can be used to transmit the signal output by the processor 301, such as signal modulation.
  • the receiver 306 can be used to receive and process the mobile communication signal received by the antenna 308. For example, signal demodulation.
  • the transmitter 305 and the receiver 306 can be regarded as a wireless modem.
  • the number of the transmitter 305 and the receiver 306 may each be one or more.
  • the antenna 308 can be used to convert electromagnetic energy in a transmission line into electromagnetic waves in a free space, or convert electromagnetic waves in a free space into electromagnetic energy in a transmission line.
  • the coupler 307 can be used to divide the mobile communication signal into multiple channels and distribute them to multiple receivers 306.
  • the memory 302 may be coupled with the processor 301 through a bus 304 or an input/output port, and the memory 302 may also be integrated with the processor 301.
  • the memory 302 is used to store various software programs and/or multiple sets of instructions.
  • the memory 302 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
  • the memory 302 may store an operating system (hereinafter referred to as system), such as embedded operating systems such as uCOS, VxWorks, RTLinux, etc.
  • system operating system
  • the memory 302 may also store a network communication program, which may be used to communicate with one or more additional devices, one or more terminal devices, and one or more network devices.
  • the processor 301 can be used to perform wireless channel management, implement call and communication link establishment and removal, and provide cell switching control for users in the control area.
  • the processor 301 may include: an administration/communication module (Administration Module/Communication Module, AM/CM) (a center for voice channel exchange and information exchange), a basic module (Basic Module, BM) (used to complete a call Processing, signaling processing, wireless resource management, wireless link management and circuit maintenance functions), code conversion and submultiplexer (Transcoder and SubMultiplexer, TCSM) (used to complete multiplexing, demultiplexing and code conversion functions), etc. Wait.
  • AM/CM Administration/Communication Module
  • BM basic module
  • TCSM code conversion and submultiplexer
  • the processor 301 may be used to read and execute computer-readable instructions.
  • the processor 301 may be configured to call a program stored in the memory 302, for example, a program for implementing the encoding method provided by one or more embodiments of the present application on the network device 300 side, and execute instructions contained in the program.
  • the network device 300 may be the network device 101 in the communication system 100 shown in FIG. 1a, and may be implemented as a base station, a wireless transceiver, a basic service set (BSS), an extended service set (ESS), NodeB, eNodeB, gNB, etc.
  • BSS basic service set
  • ESS extended service set
  • NodeB NodeB
  • eNodeB gNodeB
  • the network device 300 shown in FIG. 3 is only an implementation manner of the embodiment of the present application. In actual applications, the network device 300 may also include more or fewer components, which is not limited here.
  • the receiving device described in each of the following embodiments may be the foregoing terminal device, and the sending device may be the foregoing network device.
  • the receiving device described in the following embodiments may be the foregoing network device, and the sending device may be the foregoing terminal device.
  • Figure 4 is a schematic diagram of the HRAQ principle provided by an embodiment of this application.
  • the receiving end receives the data, it first decodes it, and after decoding, it judges whether the received data is correct through the CRC check. If it is correct, the sender will reply with an ACK message and tell The sender received correctly this time. If the CRC check fails, the receiving end thinks that the data received this time is wrong, and the receiving end feeds back or replies with a NACK message to the sending end, telling the sending end that the receiving end is wrong, let the sending end retransmit, and the receiving end receives the retransmitted After the information, the previous information and the retransmitted information are combined, and then continue to decode, whether the CRC check is correct.
  • the linear block code with the nested structure obtained by the coding method provided in the embodiment of the application, and the linear block code with the nested structure obtained through search has better performance; then the linear block code with the nested structure of the embodiment of the application is adopted When the code is decoded, the nested structure is beneficial to the realization of HARQ.
  • Step S500 in the case that the first code rate K/Nmax is less than or equal to the threshold code rate Rt, read the second matrix according to the first matrix in the preset code table;
  • the first matrix includes a matrix corresponding to the maximum supported code length Nmax read from the preset code table T under the Rt.
  • the code table T may be a fixed code table generated in advance by a search method, that is, the preset fixed code table is used to read the second matrix every subsequent encoding.
  • the second matrix read in the embodiment of the present application has a nested relationship with the first matrix, that is, the K rows of the first matrix in the first direction (Nmax-Nmax*Rt) The columns are consistent with the K rows (Nmax-Nmax*Rt) columns of the second matrix in the second direction.
  • the different second matrix read each time also satisfies the nesting relationship, that is, when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5; if the K1 is smaller than the K2, the N of the Z4 is the same as the N of the Z5, then the Z4 is
  • the K1 row (N-K2) column in the second direction is consistent with the K1 row (N-K2) column of the Z5 in the first direction.
  • step S500 may include: reading K rows (Nmax-Nmax*Rt) columns of the first matrix in the first direction in the preset code table to obtain a matrix Z21 Read the K row (Nmax*Rt-K) column next to the matrix Z21 in the third direction in the preset code table to obtain the matrix Z22; the third direction is opposite to the second direction; Combine the matrix Z21 and the matrix Z22 to obtain a second matrix.
  • Step S502 Read K rows (N-K) columns from the preset first position in the second matrix to obtain a third matrix;
  • the preset first position in the second matrix in the embodiment of the present application may be the leftmost, rightmost, or a certain column (such as the second column or the third column) in the second matrix. Column or the second-to-last column or the third-to-last column, etc.), as long as K rows (NK) columns can be read. Moreover, after the preset first position is determined, K rows (N-K) columns are read from the preset first position in the second matrix each time.
  • the second matrix has 12 rows and 20 columns. You need to read 12 rows and 13 columns from the second matrix to get the third matrix. Then you can read 12 rows and 13 columns from the leftmost side of the second matrix to the right. , Or you can read 12 rows and 13 columns from the rightmost in the second matrix to the left, or you can read 12 rows and 13 columns to the right from the second column in the second matrix, or you can read from the Read 12 rows and 11 columns to the right from the 10th column in the second matrix, and then read 12 rows and 2 columns from the first column in the second matrix (that is equivalent to connecting from the last column to the first column) Read), composed of 12 rows and 13 columns. and many more.
  • the different third matrix read each time through the method of the embodiment of the present application also satisfies the nesting relationship.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7; if the N1 is less than the N2, then The K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • Step S504 Add a unit matrix with K rows and K columns to the left side of the third matrix to obtain a generator matrix of (N, K) linear block codes;
  • the linear block code can be represented by a generator matrix.
  • the code length is N and the linear block code of information bits K can be represented by a generator matrix of K rows and N columns.
  • the generator matrix of the linear block code can be written in the form of a system, namely It is converted into a system generator matrix through row transformation (including row interleaving and row modulus 2 addition).
  • the system generator matrix can be written as a combination of unit matrix (K rows and K columns) and K rows and NK columns.
  • the matrix with K rows and NK columns in the system generator matrix is called the Z matrix. After the Z matrix is determined, the generator matrix of the (N, K) code is also determined.
  • Step S506 in the case where the first code rate K/Nmax is greater than the threshold code rate Rt, read a fourth matrix from the first matrix in the preset code table;
  • the fourth matrix read in the embodiment of the present application has a nesting relationship with the first matrix, that is, the Nmax*Rt rows of the first matrix in the second direction (Nmax -K) column is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction.
  • the different fourth matrix read each time also meets the nesting relationship, that is, when the K is K1, the fourth matrix read is Z4; when the K is K2, the second matrix read is Z5; if the K1 is smaller than the K2, the N of the Z4 is the same as the N of the Z5, then the Z4 is The K1 row (N-K2) column in the second direction is consistent with the K1 row (N-K2) column of the Z5 in the first direction.
  • step S506 may include: reading Nmax*Rt rows (Nmax-K) columns of the first matrix in the second direction in the preset code table to obtain matrix Z23 Read the (K-Nmax*Rt) row (Nmax-K) column adjacent to the matrix Z23 in the fourth direction in the preset code table to obtain the matrix Z24; the fourth direction and the first One direction is opposite; combining the matrix Z23 and the matrix Z24 to obtain a fourth matrix.
  • Step S508 Read K rows (N-K) columns from the preset second position in the fourth matrix to obtain a fifth matrix;
  • the preset second position in the fourth matrix in the embodiment of the present application may be the leftmost, rightmost, or a certain column (such as the second column or the third column) in the fourth matrix. Column or the second-to-last column or the third-to-last column, etc.), as long as K rows (NK) columns can be read. Furthermore, after the preset second position is determined, K rows (N-K) columns are read from the preset second position in the fourth matrix each time.
  • the fourth matrix has 12 rows and 20 columns. You need to read 12 rows and 13 columns from the fourth matrix to get the fifth matrix. Then you can read 12 rows and 13 columns from the leftmost side of the fourth matrix to the right. , Or you can read 12 rows and 13 columns from the rightmost in the fourth matrix to the left, or you can read 12 rows and 13 columns to the right from the second column in the fourth matrix, or you can read from the Read 12 rows and 11 columns to the right from the 10th column in the fourth matrix, and then read 12 rows and 2 columns from the first column in the fourth matrix (that is equivalent to connecting from the last column to the first column) Read), composed of 12 rows and 13 columns. and many more.
  • the different fifth matrix read each time through the method of the embodiment of the present application also satisfies the nesting relationship.
  • the fifth matrix obtained by reading K rows (N1-K) columns from the preset second position in the fourth matrix is Z6;
  • the fifth matrix obtained by reading K rows (N2-K) columns from the preset second position in the fourth matrix is Z7; if the N1 is less than the N2, then The K rows (N1-K) columns of the Z7 from the preset second position are consistent with the Z6.
  • Step S510 Add a unit matrix with K rows and K columns to the left of the fifth matrix to obtain a generator matrix of (N, K) linear block codes;
  • Step S512 Pass the information bits through the generating matrix to generate encoded data, and send the encoded data to the data receiving end.
  • the information bits to be encoded are encoded by the generator matrix of the nested linear block code obtained in the embodiment of the present application, and then sent to the data receiving end.
  • the linear block code obtained has a nested structure, supports incremental HARQ, has advantages over the prior art in terms of code distance and performance, and can support continuous expansion of the nesting of the linear block code
  • the structure and coding are also more flexible, and the working interval can be unlimited, which solves the problem that the working interval of the LTE-RM code in the prior art is very limited.
  • the performance is poor when the information vector length is less than or equal to 5, and the incremental HARQ technology is not supported. problem.
  • the first direction may be the top of the matrix, and the second direction may be the rightmost of the matrix; or the first direction may be the bottom of the matrix, and the second direction may be the rightmost of the matrix; or The first direction may be the top of the matrix, and the second direction may be the leftmost of the matrix; or the first direction may be the bottom of the matrix, and the second direction may be the leftmost of the matrix.
  • the embodiment of the present application is not limited to the above four cases, as long as the read matrix satisfies the nesting relationship described in the embodiment of FIG. 5 above.
  • step S500 to step S512:
  • Embodiment 1 (the first direction is the top of the matrix, and the second direction is the rightmost of the matrix):
  • Step 1 The matrix corresponding to the maximum supported code length Nmax read from the preset code table T and the threshold code rate Rt (ie the first matrix) is matrix Z1; the threshold code rate Rt is this application The code rate cutoff value in the nesting relationship of the embodiment.
  • Different (N, K) codes can satisfy the nesting characteristics by reading the matrix in the manner provided in the embodiment of the present application.
  • Z1 is read from the upper right corner of T.
  • the last column of Z1 is the last column of T
  • the first row of Z1 is the first row of T.
  • Step 2 Determine the size of the first code rate K/Nmax
  • Fig. 8 shows a schematic diagram of the principle of matrix reading provided by an embodiment of the present application, that is, the storage form of the code table-encoded code that satisfies the embodiment of the present application and supports incremental HARQ can be as shown in the triangle shown in Fig. To store.
  • this application is not limited to triangles.
  • it can also be represented by rectangles, or each (N, K) code can be stored separately, as long as it meets the nesting characteristics in this patent.
  • the different second matrix read each time meets the nesting relationship, that is, when K is K1,
  • the second matrix read is Z4; when the K is K2, the second matrix read is Z5; if the K1 is smaller than the K2, the N of the Z4 is equal to the Z5 If the N is the same, the rightmost K1 row (N-K2) column of Z4 is consistent with the uppermost K1 row (N-K2) column of Z5.
  • Step 3 Read K rows (N-K) columns from the preset first position in Z2 to obtain matrix Z3;
  • K rows (N-K) columns are read from the preset first position in the second matrix each time.
  • the different third matrix read each time through the method of the embodiment of the present application also satisfies the nesting relationship.
  • the N is N1
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7; if the N1 is less than the N2, then The K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • Step 4 Add a unit matrix with K rows and K columns to the left of the matrix Z3 to obtain a generator matrix of (N, K) linear block codes.
  • Embodiment 2 (the first direction is the bottom of the matrix, and the second direction is the right of the matrix):
  • Step 1 The matrix corresponding to the maximum supported code length Nmax read from the preset code table T and the threshold code rate Rt (ie the first matrix) is matrix Z1; the threshold code rate Rt is this application The code rate cutoff value in the nesting relationship of the embodiment.
  • Z1 is read from the lower right corner of T.
  • the last column of Z1 is the last column of T
  • the last row of Z1 is the last row of T.
  • Step 2 Determine the size of the first code rate K/Nmax
  • the K row (Nmax-Nmax*Rt) column at the bottom of Z1 is the same as the K row (Nmax-Nmax*Rt) column at the right side of Z2.
  • FIG. 9 shows a schematic diagram of the principle of another embodiment of the matrix reading provided by the present application, that is, the storage form of the code table-encoded code that supports incremental HARQ that meets the requirements of the embodiment of the present application can be as shown in FIG. 9 Show the triangle for storage.
  • this application is not limited to triangles.
  • it can also be represented by rectangles, or each (N, K) code can be stored separately, as long as it meets the nesting characteristics in this patent.
  • the different second matrix read each time satisfies the nesting relationship, that is, when K is K1,
  • the second matrix read is Z4; when the K is K2, the second matrix read is Z5; if the K1 is smaller than the K2, the N of the Z4 is equal to the Z5 If the N is the same, the rightmost row of K1 (N-K2) column of Z4 is consistent with the bottommost row of K1 (N-K2) column of Z5.
  • Step 3 Read K rows (N-K) columns from the preset first position in Z2 to obtain matrix Z3;
  • K rows (N-K) columns are read from the preset first position in the second matrix each time.
  • the different third matrix read each time through the method of the embodiment of the present application also satisfies the nesting relationship.
  • the N is N1
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7; if the N1 is less than the N2, then The K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • Step 4 Add a unit matrix with K rows and K columns to the left of the matrix Z3 to obtain a generator matrix of (N, K) linear block codes.
  • Embodiment 3 (the first direction is the top of the matrix, and the second direction is the leftmost of the matrix):
  • Step 1 The matrix corresponding to the maximum supported code length Nmax read from the preset code table T and the threshold code rate Rt (ie the first matrix) is matrix Z1; the threshold code rate Rt is this application The code rate cutoff value in the nesting relationship of the embodiment.
  • Z1 is read from the lower left corner of T.
  • the first column of Z1 is the first column of T
  • the first row of Z1 is the first row of T.
  • Step 2 Determine the size of the first code rate K/Nmax
  • Fig. 10 shows a schematic diagram of the principle of another embodiment of matrix reading provided by the present application, that is, the storage form of the code table-encoded code that supports incremental HARQ that meets the requirements of the embodiment of the present application can be as shown in Fig. 10 Show the triangle for storage.
  • this application is not limited to triangles.
  • it can also be represented by rectangles, or each (N, K) code can be stored separately, as long as it meets the nesting characteristics in this patent.
  • the different second matrix read each time meets the nesting relationship, that is, when K is K1,
  • the second matrix read is Z4; when the K is K2, the second matrix read is Z5; if the K1 is smaller than the K2, the N of the Z4 is equal to the Z5 If the N is the same, the leftmost K1 row (N-K2) column of Z4 is consistent with the uppermost K1 row (N-K2) column of Z5.
  • Step 3 Read K rows (N-K) columns from the preset first position in Z2 to obtain matrix Z3;
  • K rows (N-K) columns are read from the preset first position in the second matrix each time.
  • the different third matrix read each time through the method of the embodiment of the present application also satisfies the nesting relationship.
  • the N is N1
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7; if the N1 is less than the N2, then The K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • Step 4 Add a unit matrix with K rows and K columns to the left of the matrix Z3 to obtain a generator matrix of (N, K) linear block codes.
  • Embodiment 4 (the first direction is the bottom of the matrix, and the second direction is the leftmost of the matrix):
  • Step 1 The matrix corresponding to the maximum supported code length Nmax read from the preset code table T and the threshold code rate Rt (ie the first matrix) is matrix Z1; the threshold code rate Rt is this application The code rate cutoff value in the nesting relationship of the embodiment.
  • Z1 is read from the lower left corner of T.
  • the first column of Z1 is the first column of T
  • the last row of Z1 is the last row of T.
  • Step 2 Determine the size of the first code rate K/Nmax
  • FIG. 11 shows a schematic diagram of the principle of matrix reading provided by the embodiment of the present application, that is, the storage form of the code table-encoded code that supports incremental HARQ that meets the requirements of the embodiment of the present application can be as shown in the triangle shown in FIG. To store.
  • this application is not limited to triangles.
  • it can also be represented by rectangles, or each (N, K) code can be stored separately, as long as it meets the nesting characteristics in this patent.
  • the different second matrix read each time meets the nesting relationship, that is, when K is K1,
  • the second matrix read is Z4; when the K is K2, the second matrix read is Z5; if the K1 is smaller than the K2, the N of the Z4 is equal to the Z5 If the N is the same, the leftmost row of K1 (N-K2) column of Z4 is consistent with the lowest row of K1 (N-K2) column of Z5.
  • Step 3 Read K rows (N-K) columns from the preset first position in Z2 to obtain matrix Z3;
  • K rows (N-K) columns are read from the preset first position in the second matrix each time.
  • the different third matrix read each time through the method of the embodiment of the present application also satisfies the nesting relationship.
  • the N is N1
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6;
  • the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7; if the N1 is less than the N2, then The K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • Step 4 Add a unit matrix with K rows and K columns to the left of the matrix Z3 to obtain a generator matrix of (N, K) linear block codes.
  • the linear block code obtained has a nested structure, supports incremental HARQ, and has advantages over the prior art in terms of code distance and performance.
  • the data schematic diagram of the code distance performance provided by the embodiment of the present application the abscissa is the K value, and the ordinate is the minimum code distance.
  • the minimum code distance for encoding by the encoding method in the embodiment of the application is larger than that of the LTE RM code in the prior art.
  • Fig. 13 shows a schematic diagram of data of another embodiment of code distance performance provided by the present application, where the abscissa is the K value and the ordinate is the minimum code distance.
  • FIG. 14 a schematic diagram of the decoding performance data provided by the embodiment of the present application, the abscissa is the signal-to-noise ratio, and the ordinate is the bit error rate.
  • FIG. 15 a schematic diagram of data of another embodiment of decoding performance provided by the present application, the abscissa is the signal-to-noise ratio, and the ordinate is the bit error rate.
  • FIG. 16 a schematic diagram of data of another embodiment of the decoding performance provided by the present application, the abscissa is the signal-to-noise ratio, and the ordinate is the bit error rate.
  • Fig. 17 shows a schematic structural diagram of an encoding device provided by an embodiment of the present application.
  • the encoding device 170 may be the network device 101 or the terminal device 102 in Fig. 1a.
  • the encoding device 170 may include: a first reading unit 1700, a second reading unit 1702, and a first adding unit 1704, where
  • the first reading unit 1700 is configured to read the second matrix from the first matrix in the preset code table when the first code rate K/Nmax is less than or equal to the threshold code rate Rt; the first matrix includes The matrix corresponding to the maximum supported code length Nmax read in the preset code table under the Rt;
  • the second reading unit 1702 is configured to read K rows (N-K) columns from the preset first position in the second matrix to obtain a third matrix;
  • the first adding unit 1704 is configured to add a unit matrix with K rows and K columns on the left side of the third matrix to obtain a generator matrix of (N, K) linear block codes;
  • K rows (Nmax-Nmax*Rt) columns of the first matrix in the first direction are consistent with K rows (Nmax-Nmax*Rt) columns of the second matrix in the second direction.
  • the first reading unit 1700 may be specifically configured to read the first code from the preset code table when the first code rate K/Nmax is less than or equal to the threshold code rate Rt.
  • the second reading unit 1702 may be specifically configured to read K rows (N-K) columns from the leftmost or rightmost in the second matrix to obtain the third matrix.
  • the encoding device 170 may further include a third reading unit 1706, a fourth reading unit 1708, and a second adding unit 1710, where
  • the third reading unit 1706 is configured to read a fourth matrix according to the first matrix in the preset code table when the first code rate K/Nmax is greater than the threshold code rate Rt;
  • the fourth reading unit 1708 is configured to read K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix;
  • the second adding unit 1710 is configured to add a unit matrix with K rows and K columns on the left side of the fifth matrix to obtain a generator matrix of (N, K) linear block codes;
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction .
  • the third reading unit 1706 may be specifically configured to read the preset code table in the case that the first code rate K/Nmax is greater than the threshold code rate Rt
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction to obtain the matrix Z23; in the preset code table, read the (K- Nmax*Rt) rows (Nmax-K) columns to obtain a matrix Z24; the fourth direction is opposite to the first direction; and the matrix Z23 and the matrix Z24 are combined to obtain a fourth matrix.
  • the fourth reading unit 1708 can be specifically configured to read K rows (N-K) columns from the leftmost or rightmost in the fourth matrix to obtain the fifth matrix.
  • the first direction is the uppermost part of the matrix; the second direction is the rightmost part of the matrix.
  • first direction is the bottom of the matrix; the second direction is the rightmost of the matrix.
  • first direction is the uppermost of the matrix; the second direction is the leftmost of the matrix.
  • first direction is the bottom of the matrix; the second direction is the leftmost of the matrix.
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6; when the N is N2, the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • FIG. 18 shows a schematic structural diagram of another embodiment of the encoding apparatus provided in the present application.
  • the encoding apparatus 180 may also be the network device 101 or the terminal device 102 in FIG. 1a.
  • the encoding device 180 may include: a third reading unit 1800, a fourth reading unit 1802, and a second adding unit 1804, where
  • the third reading unit 1800 is configured to read a fourth matrix according to the first matrix in the preset code table when the first code rate K/Nmax is greater than the threshold code rate Rt; the first matrix includes The matrix corresponding to the maximum supported code length Nmax read from the preset code table under the Rt;
  • the fourth reading unit 1802 is configured to read K rows (N-K) columns from the preset second position in the fourth matrix to obtain the fifth matrix;
  • the second adding unit 1804 is configured to add a unit matrix of K rows and K columns to the left of the fifth matrix to obtain a generator matrix of (N, K) linear block codes;
  • the Nmax*Rt row (Nmax-K) column of the first matrix in the second direction is consistent with the Nmax*Rt row (Nmax-K) column of the fourth matrix in the first direction.
  • the third reading unit 1800 may be specifically configured to read the first matrix in the preset code table when the first code rate K/Nmax is greater than the threshold code rate Rt. Nmax*Rt rows (Nmax-K) columns in the second direction to obtain a matrix Z23; read in the preset code table (K-Nmax*Rt) next to the matrix Z23 in the fourth direction Row (Nmax-K) column to obtain a matrix Z24; the fourth direction is opposite to the first direction; and the matrix Z23 and the matrix Z24 are combined to obtain a fourth matrix.
  • the fourth reading unit 1802 may be specifically configured to read K rows (N-K) columns from the leftmost or rightmost in the fourth matrix to obtain the fifth matrix.
  • the second matrix read when the K is K1, the second matrix read is Z4; when the K is K2, the second matrix read is Z5;
  • the row (N-K2) of the K1 row (N-K2) of the Z4 in the second direction is in the same position as the Z5
  • the rows of K1 (N-K2) in one direction are the same.
  • the third matrix obtained by reading K rows (N1-K) columns from the preset first position in the second matrix is Z6; when the N is N2, the third matrix obtained by reading K rows (N2-K) columns from the preset first position in the second matrix is Z7;
  • the K rows (N1-K) columns of the Z7 from the preset first position are consistent with the Z6.
  • the encoding device provided by the embodiment of the present application may specifically be the terminal device shown in FIG. 2 or the network device shown in FIG. 3, including a processor configured to call a stored program and execute the method in the foregoing method embodiment step. I won't repeat it here.
  • the computer-readable medium may include a computer-readable storage medium, which corresponds to a tangible medium, such as a data storage medium, or a communication medium that includes any medium that facilitates the transfer of a computer program from one place to another (for example, according to a communication protocol) .
  • computer-readable media may generally correspond to (1) non-transitory tangible computer-readable storage media, or (2) communication media, such as signals or carrier waves.
  • Data storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and/or data structures for implementing the techniques described in this application.
  • the computer program product may include a computer-readable medium.
  • such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or structures that can be used to store instructions or data Any other media that can be accessed by the computer in the form of desired program code. And, any connection is properly termed a computer-readable medium.
  • any connection is properly termed a computer-readable medium.
  • coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave to transmit instructions from a website, server, or other remote source
  • coaxial cable Wire, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of media.
  • the computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other temporary media, but are actually directed to non-transitory tangible storage media.
  • magnetic disks and optical discs include compact discs (CD), laser discs, optical discs, digital versatile discs (DVD), and Blu-ray discs. Disks usually reproduce data magnetically, while discs use lasers to reproduce data optically. data. Combinations of the above should also be included in the scope of computer-readable media.
  • DSP digital signal processors
  • ASIC application-specific integrated circuits
  • FPGA field programmable logic arrays
  • processor may refer to any of the foregoing structure or any other structure suitable for implementing the techniques described herein.
  • DSP digital signal processors
  • ASIC application-specific integrated circuits
  • FPGA field programmable logic arrays
  • the term "processor” as used herein may refer to any of the foregoing structure or any other structure suitable for implementing the techniques described herein.
  • the functions described by the various illustrative logical blocks, modules, and steps described herein may be provided in dedicated hardware and/or software modules configured for encoding and decoding, or combined Into the combined codec.
  • the technology may be fully implemented in one or more circuits or logic elements.
  • the technology of this application can be implemented in a variety of devices or devices, including wireless handsets, integrated circuits (ICs), or a set of ICs (for example, chipsets).
  • ICs integrated circuits
  • a set of ICs for example, chipsets.
  • Various components, modules, or units are described in this application to emphasize the functional aspects of the device for performing the disclosed technology, but they do not necessarily need to be implemented by different hardware units.
  • various units can be combined with appropriate software and/or firmware in the codec hardware unit, or by interoperating hardware units (including one or more processors as described above). provide.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种编码方法,包括:在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵(S500);第一矩阵包括从预设码表中读取的最大支持码长Nmax且在Rt下所对应的矩阵;从第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵(S502);在第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵(S504);其中,第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。解决现有技术中的LTE-RM码工作区间十分有限,在信息向量长度小于等于5时性能差,且不支持增量HARQ的技术问题。

Description

编码方法、装置、设备及计算机可读存储介质
本申请要求于2019年07月31日提交中国专利局、申请号为201910704780.0、申请名称为“编码方法、装置、设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种编码方法、一种编码装置、一种编码设备以及一种计算机可读存储介质。
背景技术
由于移动通信存在干扰和衰落,信号在传输过程中将出现差错,故对数字信号必须采用纠、检错技术,即纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,提高系统的可靠性。对要在信道中传送的数字信号进行的纠、检错编码就是信道编码。
在5G标准中,增强型移动宽带(Enhanced Mobile Broad Band,eMBB)的控制信道采用了Polar(极化)码的编码方案,数据信道采用了低密度奇偶校验(Low-density Parity-check,LDPC)的编码方案,LDPC编码采用的增量冗余的自动请求重传。而在未来的5G beyond或者6G中,支持自动重传请求(Automatic Repeat-reQuest,ARQ)的码的性能还可以进一步提升。
在大多数无线分组传输系统中都将ARQ和前向纠错(Forward Error Correction,FEC)混合使用,即混合自动重传请求(HARQ,Hybrid Automatic Repeat reQuest)体制。在HARQ中采用FEC减少重传的次数,降低误码率,使用ARQ的重传和循环冗余校验(Cyclic Redundancy Check,CRC)来保证分组数据传输等要求误码率极低的场合。该机制是一种折中的方案,在纠错能力范围内自动纠正错误,超出纠错范围则要求发送端重新发送,既增加了系统的可靠性,又提高了系统的传输效率。
现有技术中,现有的长期演进(long term evolution,LTE)中的雷德穆勒(Reed-Muller)码,即LTE-RM码,应用于LTE系统的上行控制信道和下行控制信道短信令的收发,其可由三个RM码根据应用场景组合实现,包括第一个RM码(20,13),其信息比特长度支持小于等于13的正整数,编码后码字长度20比特;第二个RM码(32,11),其信息比特长度支持小于等于11的正整数,编码后码字长度为32比特;第三个RM码,其信息比特支持长度大于等于12、小于等于22的正整数,编码后的码字长度为48比特,编码过程为首先将信息向量分成长度差小于等于1比特的两个向量,再分别对两个向量进行编码,得到两个长度为24的码字,对两个码字级联后获得最后的编码码字。
也就是说,LTE-RM码支持的二进制信息向量长度为小于等于22的正整数,因此LTE-RM码的工作区间十分有限,即编码码字的长度受限;并且LTE-RM码在信息向量长度小于等于5时性能差,且不支持增量HARQ。
发明内容
本发明实施例公开了一种编码方法、编码装置和编码设备,能够解决现有技术中的 LTE-RM码工作区间十分有限,在信息向量长度小于等于5时性能差,且不支持增量HARQ的技术问题。
第一方面,本申请实施例提供一种编码方法,该方法包括:
在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。
本申请实施例提供的编码方法,在第一码率K/Nmax小于等于阈值码率Rt的情况下,可以得到的具有嵌套结构的线性分组码,同时通过搜索得到的具有嵌套结构的线性分组码性能较优;那么采用本申请实施例的具有嵌套结构的线性分组码进行译码时,该嵌套结构有利于HARQ的实现。
在一种可能的实现方式中,所述在预设码表中根据第一矩阵读取出第二矩阵,包括:
在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;
在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;
组合所述矩阵Z21和所述矩阵Z22,得到第二矩阵。
通过上述方式从第一矩阵中读取出的第二矩阵,可以使所述第二矩阵与所述第一矩阵存在嵌套关系,并且,在N固定不变的情况下,每次读取的不同的第二矩阵也满足嵌套关系。
在一种可能的实现方式中,所述从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵,包括:
从所述第二矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第三矩阵。
通过最左侧或最右侧来读取出第三矩阵,不但可以在K固定不变的情况下,每次读取出的不同的第三矩阵同样满足嵌套关系,而且可以提高读取效率,从而提升编码效率。
在一种可能的实现方式中,所述编码方法还可以包括:
在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根据所述第一矩阵读取出第四矩阵;
从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
本申请实施例提供的编码方法,在第一码率K/Nmax大于所述阈值码率Rt的情况下,可以得到的具有嵌套结构的线性分组码,同时通过搜索得到的具有嵌套结构的线性分组码性能较优;那么采用本申请实施例的具有嵌套结构的线性分组码进行译码时,该嵌套结构 有利于HARQ的实现。
在一种可能的实现方式中,所述在所述预设码表中根据所述第一矩阵读取出第四矩阵,包括:
在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;
在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;
组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
通过上述方式从第一矩阵中读取出的第四矩阵,可以使所述第四矩阵与所述第一矩阵存在嵌套关系,并且,在N固定不变的情况下,每次读取的不同的第四矩阵也满足嵌套关系。
在一种可能的实现方式中,所述从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵,包括:
从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
通过最左侧或最右侧来读取出第五矩阵,不但可以在K固定不变的情况下,每次读取出的不同的第五矩阵同样满足嵌套关系,而且可以提高读取效率,从而提升编码效率。
在一种可能的实现方式中,
所述第一方向为矩阵的最上方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最上方;所述第二方向为矩阵的最左方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最左方。
本申请也不限定于上述方向,只要满足本申请实施例线性分组码具有的嵌套关系即可。
在一种可能的实现方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在一种可能的实现方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
通过本申请实施例的编码方法,可支持增量HARQ。当发送的信息比特数固定(K固定)时,如果前一次译码(比如前一次为(30,12)的译码)失败,则接收端反馈译码失败的信息给发送端,若发送端通过本申请实施例的编码方法发送(32,12)的线性分组码时,只需发送码长变长后的增量部分(即增量的12行2列)即可,接收端收到后,将当次接收与前一次的接收结果一起译码即可。
第二方面,本申请实施例提供一种编码方法,包括:
在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中根据第一矩阵读取 出第四矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在第一方向上的Nmax*Rt行(Nmax-K)列一致。
在一种可能的实现方式中,所述在预设码表中根据第一矩阵读取出第四矩阵,包括:
在预设码表中读取第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;
在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;
组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在一种可能的实现方式中,所述从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵,包括:
从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在一种可能的实现方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在一种可能的实现方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
第三方面,本申请实施例提供一种编码装置,包括:
第一读取单元,用于在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
第二读取单元,用于从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
第一添加单元,用于在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。
在一种可能的实现方式中,所述第一读取单元具体用于,在第一码率K/Nmax小于等于阈值码率Rt的情况下,在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;组合所述矩 阵Z21和所述矩阵Z22,得到第二矩阵。
在一种可能的实现方式中,所述第二读取单元具体用于,从所述第二矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第三矩阵。
在一种可能的实现方式中,所述编码装置还包括:
第三读取单元,用于在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根据所述第一矩阵读取出第四矩阵;
第四读取单元,用于从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
第二添加单元,用于在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
在一种可能的实现方式中,所述第三读取单元具体用于,在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在一种可能的实现方式中,所述第四读取单元具体用于,从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在一种可能的实现方式中,
所述第一方向为矩阵的最上方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最上方;所述第二方向为矩阵的最左方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最左方。
在一种可能的实现方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在一种可能的实现方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
第四方面,本申请实施例提供一种编码装置,包括:
第三读取单元,用于在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第四矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
第四读取单元,用于从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五 矩阵;
第二添加单元,用于在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在第一方向上的Nmax*Rt行(Nmax-K)列一致。
在一种可能的实现方式中,所述第三读取单元具体用于,在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中读取第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在一种可能的实现方式中,所述第四读取单元具体用于,从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在一种可能的实现方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在一种可能的实现方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
第五方面,本申请实施例提供一种编码设备,包括处理器,所述处理器被配置用于调用存储的程序,执行如下步骤:
在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。
在一种可能的实现方式中,所述在预设码表中根据第一矩阵读取出第二矩阵,包括:
在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;
在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;
组合所述矩阵Z21和所述矩阵Z22,得到第二矩阵。
在一种可能的实现方式中,所述从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵,包括:
从所述第二矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第三矩阵。
在一种可能的实现方式中,所述编码方法还可以包括:
在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根据所述第一矩阵读取出第四矩阵;
从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
在一种可能的实现方式中,所述在所述预设码表中根据所述第一矩阵读取出第四矩阵,包括:
在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;
在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;
组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在一种可能的实现方式中,所述从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵,包括:
从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在一种可能的实现方式中,
所述第一方向为矩阵的最上方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最上方;所述第二方向为矩阵的最左方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最左方。
在一种可能的实现方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在一种可能的实现方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
第六方面,本申请实施例提供一种编码设备,包括处理器,所述处理器被配置用于调用存储的程序,执行如下步骤:
在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第四矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在第一方向上的Nmax*Rt行(Nmax-K)列一致。
在一种可能的实现方式中,所述在预设码表中根据第一矩阵读取出第四矩阵,包括:
在预设码表中读取第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;
在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;
组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在一种可能的实现方式中,所述从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵,包括:
从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在一种可能的实现方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在一种可能的实现方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序,其中,所述程序包括用于执行第一方面的任意一种方法的部分或全部步骤的指令。
第八方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
应当理解的是,本申请的第二至第五方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1a是本申请实施例提供的一种通信系统示意图;
图1b是本申请实施例提供的发送端和接收端的系统示意图;
图2是本申请实施例提供的终端设备的结构示意图;
图3是本申请实施例提供的网络设备的结构示意图;
图4是本申请实施例提供的HRAQ原理示意图;
图5是本申请实施例提供的编码方法的流程示意图;
图6是本申请实施例提供的预设码表的示意图;
图7是本申请提供的预设码表的另一实施例的示意图;
图8是本申请实施例提供的矩阵读取的原理示意图;
图9是本申请提供的矩阵读取的另一实施例的原理示意图;
图10是本申请提供的矩阵读取的另一实施例的原理示意图;
图11是本申请提供的矩阵读取的另一实施例的原理示意图;
图12是本申请实施例提供的码距性能的数据示意图;
图13是本申请提供的码距性能的另一实施例的数据示意图;
图14是本申请实施例提供的译码性能的数据示意图;
图15是本申请提供的译码性能的另一实施例的数据示意图;
图16是本申请提供的译码性能的另一实施例的数据示意图;
图17是本申请实施例提供的编码装置的结构示意图;
图18是本申请提供的编码装置的另一实施例的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
图1a为本申请实施例提供的一种通信系统示意图。该通信系统100可以包括至少一个网络设备101(仅示出1个)以及与网络设备101连接的一个或多个终端设备102。
网络设备101可以通过一个或多个天线来和终端设备102进行无线通信。各个网络设备101均可以为各自对应的覆盖范围104提供通信覆盖。网络设备101对应的覆盖范围104可以被划分为多个扇区(sector),其中,一个扇区对应一部分覆盖范围(未示出)。当通信系统100包括核心网时,该网络设备101还可以与核心网相连。
由于网络设备101或终端设备102发送信息或数据时均可以使本申请实施例中描述的编码方法,为方便描述,本申请实施例将通信系统100简化为如图1b所示的包括发送端和接收端的系统。发送端可以为网络设备101,接收端为终端设备102;或者,发送端为终端设备102,接收端为网络设备101。
在本申请实施例中,网络设备101可以包括:基站收发台(Base Transceiver Station),无线收发器,一个基本服务集(Basic Service Set,BSS),一个扩展服务集(Extended Service Set,ESS),节点B(Node B),演进的节点B(evolved NodeB,eNB或者eNodeB),或下一代节点(next-generation Node B,gNB)等等。通信系统100可以包括几种不同类型的网络设备101,例如宏基站(macro base station)、微基站(micro base station)等。网络设备101还可以是小站,传输节点(Transmission Reference Point,TRP)等。网络设备101可以应用不同的无线技术,例如小区无线接入技术,或者WLAN无线接入技术。
在本申请实施例中,终端设备102是一种具有无线收发功能的设备可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线 终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。终端设备有时也可以称为用户设备(User Equipment,UE)、终端(terminal)、接入终端、UE单元、UE站、移动设备、移动站、移动台(mobile station)、移动终端、移动客户端、移动单元(mobile unit)、远方站、远程终端设备、远程单元、无线单元、无线通信设备、用户代理或用户装置等。
需要说明的是,本申请实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
参考图2,图2示出了本申请实施例提供的终端设备。如图2所示,终端设备200可包括:输入输出模块(包括音频输入输出模块218、按键输入模块216以及显示器220等)、用户接口202、一个或多个处理器204、发射器206、接收器208、耦合器210、天线214以及存储器212。这些部件可通过总线或者其它方式连接,图2以通过总线连接为例。其中:
天线214可用于将电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。耦合器210用于将天线214接收到的移动通信信号分成多路,分配给多个的接收器208。
发射器206可用于对处理器204输出的信号进行发射处理。
接收器208可用于对天线214接收的移动通信信号进行接收处理。
在本申请实施例中,发射器206和接收器208可看作一个无线调制解调器。在终端设备200中,发射器206和接收器208的数量均可以是一个或者多个。
除了图2所示的发射器206和接收器208,终端设备200还可包括其他通信部件,例如GPS模块、蓝牙(Bluetooth)模块、无线高保真(Wireless Fidelity,Wi-Fi)模块等。不限于上述表述的无线通信信号,终端设备200还可以支持其他无线通信信号,例如卫星信号、短波信号等等。不限于无线通信,终端设备200还可以配置有有线网络接口(如LAN接口)201来支持有线通信。
所述输入输出模块可用于实现终端设备200和用户/外部环境之间的交互,可主要包括音频输入输出模块218、按键输入模块216以及显示器220等。具体的,所述输入输出模块还可包括:摄像头、触摸屏以及传感器等等。其中,所述输入输出模块均通过用户接口202与处理器204进行通信。
存储器212可以和处理器204通过总线或者输入输出端口耦合,存储器212也可以与处理器204集成在一起。存储器212用于存储各种软件程序和/或多组指令。具体的,存储器212可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器212可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储器212还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或 多个终端设备,一个或多个网络设备进行通信。存储器212还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。
在本申请实施例中,存储器212可用于存储本申请的一个或多个实施例提供的编码方法在终端设备200侧的实现程序。关于本申请的一个或多个实施例提供的编码方法的实现,请参考后续实施例。
处理器204可用于读取和执行计算机可读指令。具体的,处理器204可用于调用存储于存储器212中的程序,例如本申请的一个或多个实施例提供的编码方法在终端设备200侧的实现程序,并执行该程序包含的指令以实现后续实施例涉及的方法。处理器204可支持:全球移动通信系统(Global System for Mobile Communication,GSM)(2G)通信、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)(3G)通信,以及长期演进(Long Term Evolution,LTE)(4G)通信、以及5G通信等等中的一个或多个。可选地,当处理器204发送任何消息或数据时,其具体通过驱动或控制发射器206做所述发送。可选地,当处理器204接收任何消息或数据时,其具体通过驱动或控制接收器208做所述接收。因此,处理器204可以被视为是执行发送或接收的控制中心,发射器206和接收器208是发送和接收操作的具体执行者。
可以理解的,终端设备200可以是图1a示出的通信系统100中的终端设备102,可实施为用户设备(User Equipment,UE)、终端(terminal)、接入终端、UE单元、UE站、移动设备、移动站、移动台(mobile station)、移动终端等等。
需要说明的,图2所示的终端设备200仅仅是本申请实施例的一种实现方式,实际应用中,终端设备200还可以包括更多或更少的部件,这里不作限制。
参考图3,图3示出了本申请实施例提供的网络设备。如图3所示,网络设备300可包括:一个或多个处理器301、存储器302、网络接口303、发射器305、接收器306、耦合器307和天线308。这些部件可通过总线304或者其他方式连接,图3以通过总线连接为例。其中:
网络接口303可用于网络设备300与其他通信设备,例如其他网络设备,进行通信。具体的,网络接口303可以是有线接口。
发射器305可用于对处理器301输出的信号进行发射处理,例如信号调制。接收器306可用于对天线308接收的移动通信信号进行接收处理。例如信号解调。在本申请的一些实施例中,发射器305和接收器306可看作一个无线调制解调器。在网络设备300中,发射器305和接收器306的数量均可以是一个或者多个。天线308可用于将传输线中的电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。耦合器307可用于将移动通信号分成多路,分配给多个的接收器306。
存储器302可以和处理器301通过总线304或者输入输出端口耦合,存储器302也可以与处理器301集成在一起。存储器302用于存储各种软件程序和/或多组指令。具体的,存储器302可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器302可以存储操作系统 (下述简称系统),例如uCOS、VxWorks、RTLinux等嵌入式操作系统。存储器302还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个网络设备进行通信。
处理器301可用于进行无线信道管理、实施呼叫和通信链路的建立和拆除,并为本控制区内的用户提供小区切换控制等。具体的,处理器301可包括:管理/通信模块(Administration Module/Communication Module,AM/CM)(用于话路交换和信息交换的中心)、基本模块(Basic Module,BM)(用于完成呼叫处理、信令处理、无线资源管理、无线链路的管理和电路维护功能)、码变换及子复用单元(Transcoder and SubMultiplexer,TCSM)(用于完成复用解复用及码变换功能)等等。
本申请实施例中,处理器301可用于读取和执行计算机可读指令。具体的,处理器301可用于调用存储于存储器302中的程序,例如本申请的一个或多个实施例提供的编码方法在网络设备300侧的实现程序,并执行该程序包含的指令。
可以理解的,网络设备300可以是图1a示出的通信系统100中的网络设备101,可实施为基站、无线收发器、一个基本服务集(BSS)、一个扩展服务集(ESS)、NodeB、eNodeB、gNB等等。
需要说明的是,图3所示的网络设备300仅仅是本申请实施例的一种实现方式,实际应用中,网络设备300还可以包括更多或更少的部件,这里不作限制。
需要说明的是,下述各实施例中所描述的接收装置可以为上述终端设备,发送装置可以为上述网络设备。或者,下述各实施例中所描述的接收装置可以为上述网络设备,发送装置可以为上述终端设备。
图4为本申请实施例提供的HRAQ原理示意图,当接收端接收到数据后,先译码,译码后通过CRC校验判断接收的数据是否正确,如果正确就给发送端回复ACK信息,告诉发送端此次接收正确。如果CRC校验不通过,则接收端认为此次接收到数据错误,接收端给发送端反馈或回复NACK信息,告诉发送端此次接收错误,让发送端重传,接收端接收到重传的信息后,之前的信息和重传的信息合并,然后继续译码,CRC校验是否正确。
本申请实施例提供的编码方法得到的具有嵌套结构的线性分组码,同时通过搜索得到的具有嵌套结构的线性分组码性能较优;那么采用本申请实施例的具有嵌套结构的线性分组码进行译码时,该嵌套结构有利于HARQ的实现。
下面结合图5示出的本申请实施例提供的编码方法的流程示意图,说明本申请实施例中发送端如何进行编码,包括如下步骤:
步骤S500:在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;
具体地,所述第一矩阵包括从所述预设码表T中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵。该码表T可以为通过搜索方法预先生成的固定码表,即后续每次进行编码时都采用预设的该固定码表来读取第二矩阵。
其中,本申请实施例中读取的所述第二矩阵与所述第一矩阵存在嵌套关系,也就是说,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K 行(Nmax-Nmax*Rt)列一致。
并且,在N固定不变的情况下,每次读取的不同的第二矩阵也满足嵌套关系,也就是说,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在其中一种实施方式中,步骤S500可以包括:在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;组合所述矩阵Z21和所述矩阵Z22,得到第二矩阵。
步骤S502:从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
具体地,本申请实施例中的所述第二矩阵中的预设第一位置可以为所述第二矩阵中的最左侧、或最右侧、或某一列(比如第2列或第3列或倒数第2列或倒数第3列等),只要能读取出K行(N-K)列即可。并且,在确定了该预设第一位置后,每次都从该第二矩阵中的预设第一位置起来读取K行(N-K)列。
例如第二矩阵为12行20列,需要从该第二矩阵中读取12行13列来得到第三矩阵,那么可以从该第二矩阵中的最左侧起向右读取12行13列,或者可以从该第二矩阵中的最右侧起向左读取12行13列,或者可以从该第二矩阵中的第2列起向右读取12行13列,又或者可以从该第二矩阵中的第10列起向右读取12行11列,接着从该第二矩阵中的第1列起读取12行2列(即相当于从最后1列连接到第1列来读取),组成12行13列。等等。
在K固定不变的情况下,通过本申请实施例的方式每次读取出的不同的第三矩阵,同样满足嵌套关系。例如,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
因此,通过本申请实施例的编码方法,可支持增量HARQ。当发送的信息比特数固定(K固定)时,如果前一次译码(比如前一次为(30,12)的译码)失败,则接收端反馈译码失败的信息给发送端,若发送端通过本申请实施例的编码方法发送(32,12)的线性分组码时,只需发送码长变长后的增量部分(即增量的12行2列)即可,接收端收到后,将当次接收与前一次的接收结果一起译码即可。
步骤S504:在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,线性分组码可以用生成矩阵表示,例如码长为N,信息比特K的线性分组码可以用K行N列的生成矩阵表示,同时可以将线性分组码的生成矩阵写成系统的形式,即通过行变换(包括行交织和行模2加)方法,将其转换为系统生成矩阵,系统生成矩阵可以写成单位阵(K行K列)和K行N-K列的组合,本申请实施例中将系统生成矩阵中K行N-K列的矩阵称为Z矩阵,Z矩阵确定后,(N,K)码的生成矩阵也就确定了。
步骤S506:在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根 据所述第一矩阵读取出第四矩阵;
具体地,本申请实施例中读取的所述第四矩阵与所述第一矩阵存在嵌套关系,也就是说,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
并且,在N固定不变的情况下,每次读取的不同的第四矩阵也满足嵌套关系,也就是说,在所述K为K1的情况下,读取的所述第四矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在其中一种实施方式中,步骤S506可以包括:在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
步骤S508:从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
具体地,本申请实施例中的所述第四矩阵中的预设第二位置可以为所述第四矩阵中的最左侧、或最右侧、或某一列(比如第2列或第3列或倒数第2列或倒数第3列等),只要能读取出K行(N-K)列即可。并且,在确定了该预设第二位置后,每次都从该第四矩阵中的预设第二位置起来读取K行(N-K)列。
例如第四矩阵为12行20列,需要从该第四矩阵中读取12行13列来得到第五矩阵,那么可以从该第四矩阵中的最左侧起向右读取12行13列,或者可以从该第四矩阵中的最右侧起向左读取12行13列,或者可以从该第四矩阵中的第2列起向右读取12行13列,又或者可以从该第四矩阵中的第10列起向右读取12行11列,接着从该第四矩阵中的第1列起读取12行2列(即相当于从最后1列连接到第1列来读取),组成12行13列。等等。
在K固定不变的情况下,通过本申请实施例的方式每次读取出的不同的第五矩阵,同样满足嵌套关系。例如,在所述N为N1的情况下,从所述第四矩阵中的预设第二位置起读取K行(N1-K)列得到的所述第五矩阵为Z6;在所述N为N2的情况下,从所述第四矩阵中的预设第二位置起读取K行(N2-K)列得到的所述第五矩阵为Z7;若所述N1小于所述N2,则所述Z7从所述预设第二位置起的K行(N1-K)列与所述Z6一致。
因此,通过本申请实施例的编码方法,可支持增量HARQ。当发送的信息比特数固定(K固定)时,如果前一次译码(比如前一次为(30,12)的译码)失败,则接收端反馈译码失败的信息给发送端,若发送端通过本申请实施例的编码方法发送(32,12)的线性分组码时,只需发送码长变长后的增量部分(即增量的12行2列)即可,接收端收到后,将当次接收与前一次的接收结果一起译码即可。
步骤S510:在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
步骤S512:将信息比特通过所述生成矩阵生成编码后的数据,向数据接收端发送编码后的数据。
具体地,将待编码的信息比特通过本申请实施例得到的具有嵌套关系的线性分组码的 生成矩阵进行编码后,发送给数据接收端。
通过本申请实施例的编码方法,得到的线性分组码具有嵌套结构,支持增量HARQ,在码距和性能上比现有技术更有优势,并且可支持不断扩展该线性分组码的嵌套结构,编码也更加灵活,工作区间可以不受限,从而解决了现有技术中的LTE-RM码工作区间十分有限,在信息向量长度小于等于5时性能差,且不支持增量HARQ的技术问题。
本申请实施例中的第一方向可以为矩阵的最上方,第二方向可以为矩阵的最右方;或者第一方向可以为矩阵的最下方,第二方向可以为矩阵的最右方;或者第一方向可以为矩阵的最上方,所述第二方向可以为矩阵的最左方;或者第一方向可以为矩阵的最下方,第二方向可以为矩阵的最左方。本申请实施例也不限于上述四种情况,只要读取的矩阵满足上述图5实施例所述的嵌套关系即可。
下面通过四个实施例来举例说明步骤S500至步骤S512的实现过程:
实施例一(第一方向为矩阵的最上方,第二方向为矩阵的最右方):
步骤1:从预设码表T中读取的最大支持码长Nmax且在阈值码率Rt下所对应的矩阵(即第一矩阵),即为矩阵Z1;该阈值码率Rt即为本申请实施例的嵌套关系中的码率分界值。
具体的码表T可以如图6示出的本申请实施例提供的预设码表的示意图,图6中的表格描述的是一个最大支持K=12,N=32的嵌套的码,或者如图7示出的本申请提供的预设码表的另一实施例的示意图,图7中的表格描述的是一个最大支持K=16,N=64的嵌套的码。不同的(N,K)码按照本申请实施例提供的方式来读取矩阵即可满足嵌套特性。
具体地,本申请实施例中从T的右上角侧读取Z1。例如,Z1的最后一列即为T的最后一列,Z1的第一行即为T的第一行。
步骤2:判断第一码率K/Nmax的大小;
当K/Nmax小于等于阈值码率Rt的情况下,读取Z1在T中位置最上方的K行(Nmax-Nmax*Rt)列记为Z21,读取Z21在T中位置左侧紧接着的K行(Nmax*Rt-K)列记为Z22,组合Z22和Z21得到[Z22Z21],即Z22在左方,Z21在右方,来作为(Nmax,K)码的矩阵,记为Z2(即为第二矩阵)。也就是说,当K/Nmax小于等于阈值码率Rt的情况下,Z1最上方的K行(Nmax-Nmax*Rt)列与Z2最右侧的K行(Nmax-Nmax*Rt)列一致。
当K/Nmax大于阈值码率Rt的情况下,读取Z1在T中位置最右侧的Nmax*Rt行(Nmax-K)列记为Z23,读取Z23在T中位置的下方紧接着的(K-Nmax*Rt)行(Nmax-K)列记为Z24,组合Z23和Z24,Z23在上方,Z24在下方,得到作为(Nmax,K)码的矩阵,记为Z2(即为第四矩阵)。也就是说,当K/Nmax大于阈值码率Rt的情况下,Z1最右侧的Nmax*Rt行(Nmax-K)列与Z2最上方的Nmax*Rt行(Nmax-K)列一致。
如图8示出的本申请实施例提供的矩阵读取的原理示意图,也就是说,满足本申请实施例的支持增量HARQ的用码表编码的码的存储形式可以以图8所示三角形来进行存储。但本申请不限于三角形,比如也可以用矩形表示,或者单独存储每个(N,K)码,只需满足本专利中的嵌套特性即可。
通过本申请实施例从Z1读取的Z2,在N固定不变的情况下,每次读取的不同的第二 矩阵满足嵌套关系,也就是说,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在最右方的K1行(N-K2)列与所述Z5在最上方的K1行(N-K2)列一致。
步骤3:从Z2中的预设第一位置起读取K行(N-K)列,得到矩阵Z3;
具体地,在确定了该预设第一位置后,每次都从该第二矩阵中的预设第一位置起来读取K行(N-K)列。那么在K固定不变的情况下,通过本申请实施例的方式每次读取出的不同的第三矩阵,同样满足嵌套关系。例如,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
步骤4:在矩阵Z3的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵。
实施例二(第一方向为矩阵的最下方,第二方向为矩阵的最右方):
步骤1:从预设码表T中读取的最大支持码长Nmax且在阈值码率Rt下所对应的矩阵(即第一矩阵),即为矩阵Z1;该阈值码率Rt即为本申请实施例的嵌套关系中的码率分界值。
具体地,本申请实施例中从T的右下角侧读取Z1。例如,Z1的最后一列即为T的最后一列,Z1的最后一行即为T的最后一行。
步骤2:判断第一码率K/Nmax的大小;
当K/Nmax小于等于阈值码率Rt的情况下,读取Z1在T中位置最下方的K行(Nmax-Nmax*Rt)列记为Z21,读取Z21在T中位置左侧紧接着的K行(Nmax*Rt-K)列记为Z22,组合Z22和Z21得到[Z22Z21]即Z22在左方,Z21在右方,来作为(Nmax,K)码的矩阵,记为Z2(即为第二矩阵)。也就是说,当K/Nmax小于等于阈值码率Rt的情况下,Z1最下方的K行(Nmax-Nmax*Rt)列与Z2最右侧的K行(Nmax-Nmax*Rt)列一致。
当K/Nmax大于阈值码率Rt的情况下,读取Z1在T中位置最右侧的Nmax*Rt行(Nmax-K)列记为Z23,读取Z23在T中位置的上方紧接着的(K-Nmax*Rt)行(Nmax-K)列记为Z24,组合Z23和Z24,Z24在上方,Z23在下方,得到作为(Nmax,K)码的矩阵,记为Z2(即为第四矩阵)。也就是说,当K/Nmax大于阈值码率Rt的情况下,Z1最右侧的Nmax*Rt行(Nmax-K)列与Z2最下方的Nmax*Rt行(Nmax-K)列一致。
如图9示出的本申请提供的矩阵读取的另一实施例的原理示意图,也就是说,满足本申请实施例的支持增量HARQ的用码表编码的码的存储形式可以以图9所示三角形来进行存储。但本申请不限于三角形,比如也可以用矩形表示,或者单独存储每个(N,K)码,只需满足本专利中的嵌套特性即可。
通过本申请实施例从Z1读取的Z2,在N固定不变的情况下,每次读取的不同的第二矩阵满足嵌套关系,也就是说,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在最右方的K1行(N-K2)列与所述Z5在最下方的K1 行(N-K2)列一致。
步骤3:从Z2中的预设第一位置起读取K行(N-K)列,得到矩阵Z3;
具体地,在确定了该预设第一位置后,每次都从该第二矩阵中的预设第一位置起来读取K行(N-K)列。那么在K固定不变的情况下,通过本申请实施例的方式每次读取出的不同的第三矩阵,同样满足嵌套关系。例如,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
步骤4:在矩阵Z3的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵。
实施例三(第一方向为矩阵的最上方,第二方向为矩阵的最左方):
步骤1:从预设码表T中读取的最大支持码长Nmax且在阈值码率Rt下所对应的矩阵(即第一矩阵),即为矩阵Z1;该阈值码率Rt即为本申请实施例的嵌套关系中的码率分界值。
具体地,本申请实施例中从T的左下角侧读取Z1。例如,Z1的第一列即为T的第一列,Z1的第一行即为T的第一行。
步骤2:判断第一码率K/Nmax的大小;
当K/Nmax小于等于阈值码率Rt的情况下,读取Z1在T中位置最上方的K行(Nmax-Nmax*Rt)列记为Z21,读取Z21在T中位置右侧紧接着的K行(Nmax*Rt-K)列记为Z22,组合Z22和Z21得到[Z21Z22]即Z21在左方,Z22在右方,来作为(Nmax,K)码的矩阵,记为Z2(即为第二矩阵)。也就是说,当K/Nmax小于等于阈值码率Rt的情况下,Z1最上方的K行(Nmax-Nmax*Rt)列与Z2最左侧的K行(Nmax-Nmax*Rt)列一致。
当K/Nmax大于阈值码率Rt的情况下,读取Z1在T中位置最左侧的Nmax*Rt行(Nmax-K)列记为Z23,读取Z23在T中位置的下方紧接着的(K-Nmax*Rt)行(Nmax-K)列记为Z24,组合Z23和Z24,Z23在上方,Z24在下方,得到作为(Nmax,K)码的矩阵,记为Z2(即为第四矩阵)。也就是说,当K/Nmax大于阈值码率Rt的情况下,Z1最左侧的Nmax*Rt行(Nmax-K)列与Z2最上方的Nmax*Rt行(Nmax-K)列一致。
如图10示出的本申请提供的矩阵读取的另一实施例的原理示意图,也就是说,满足本申请实施例的支持增量HARQ的用码表编码的码的存储形式可以以图10所示三角形来进行存储。但本申请不限于三角形,比如也可以用矩形表示,或者单独存储每个(N,K)码,只需满足本专利中的嵌套特性即可。
通过本申请实施例从Z1读取的Z2,在N固定不变的情况下,每次读取的不同的第二矩阵满足嵌套关系,也就是说,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在最左方的K1行(N-K2)列与所述Z5在最上方的K1行(N-K2)列一致。
步骤3:从Z2中的预设第一位置起读取K行(N-K)列,得到矩阵Z3;
体地,在确定了该预设第一位置后,每次都从该第二矩阵中的预设第一位置起来读取 K行(N-K)列。那么在K固定不变的情况下,通过本申请实施例的方式每次读取出的不同的第三矩阵,同样满足嵌套关系。例如,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
步骤4:在矩阵Z3的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵。
实施例四(第一方向为矩阵的最下方,第二方向为矩阵的最左方):
步骤1:从预设码表T中读取的最大支持码长Nmax且在阈值码率Rt下所对应的矩阵(即第一矩阵),即为矩阵Z1;该阈值码率Rt即为本申请实施例的嵌套关系中的码率分界值。
具体地,本申请实施例中从T的左下角侧读取Z1。例如,Z1的第一列即为T的第一列,Z1的最后一行即为T的最后一行。
步骤2:判断第一码率K/Nmax的大小;
当K/Nmax小于等于阈值码率Rt的情况下,读取Z1在T中位置最下方的K行(Nmax-Nmax*Rt)列记为Z21,读取Z21在T中位置右侧紧接着的K行(Nmax*Rt-K)列记为Z22,组合Z22和Z21得到[Z21Z22],即Z21在左方,Z22在右方,来作为(Nmax,K)码的矩阵,记为Z2(即为第二矩阵)。也就是说,当K/Nmax小于等于阈值码率Rt的情况下,Z1最下方的K行(Nmax-Nmax*Rt)列与Z2最左侧的K行(Nmax-Nmax*Rt)列一致。
当K/Nmax大于阈值码率Rt的情况下,读取Z1在T中位置最左侧的Nmax*Rt行(Nmax-K)列记为Z23,读取Z23在T中位置的上方紧接着的(K-Nmax*Rt)行(Nmax-K)列记为Z24,组合Z23和Z24,Z24在上方,Z23在下方,得到作为(Nmax,K)码的矩阵,记为Z2(即为第四矩阵)。也就是说,当K/Nmax大于阈值码率Rt的情况下,Z1最左侧的Nmax*Rt行(Nmax-K)列与Z2最下方的Nmax*Rt行(Nmax-K)列一致。
如图11示出的本申请实施例提供的矩阵读取的原理示意图,也就是说,满足本申请实施例的支持增量HARQ的用码表编码的码的存储形式可以以图11所示三角形来进行存储。但本申请不限于三角形,比如也可以用矩形表示,或者单独存储每个(N,K)码,只需满足本专利中的嵌套特性即可。
通过本申请实施例从Z1读取的Z2,在N固定不变的情况下,每次读取的不同的第二矩阵满足嵌套关系,也就是说,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在最左方的K1行(N-K2)列与所述Z5在最下方的K1行(N-K2)列一致。
步骤3:从Z2中的预设第一位置起读取K行(N-K)列,得到矩阵Z3;
具体地,在确定了该预设第一位置后,每次都从该第二矩阵中的预设第一位置起来读取K行(N-K)列。那么在K固定不变的情况下,通过本申请实施例的方式每次读取出的不同的第三矩阵,同样满足嵌套关系。例如,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下, 从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
步骤4:在矩阵Z3的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵。
通过本申请实施例的编码方法,得到的线性分组码具有嵌套结构,支持增量HARQ,在码距和性能上比现有技术更有优势。
如图12示出的本申请实施例提供的码距性能的数据示意图,横坐标为K值、纵坐标为最小码距。图12以N=20为例,可以看出通过本申请实施例的编码方法进行编码,码距性能比现有技术中LTE RM码的要好,例如K为4、7、8、9和11时,本申请实施例的编码方法进行编码的最小码距都比现有技术中LTE RM码的要大。
再如图13示出的本申请提供的码距性能的另一实施例的数据示意图,横坐标为K值、纵坐标为最小码距。图13以N=24为例,可以看出通过本申请实施例的编码方法进行编码,码距性能比现有技术中LTE RM码的要好,例如K为4-12时,本申请实施例的编码方法进行编码的最小码距都比现有技术中LTE RM码的要大。
如图14示出的本申请实施例提供的译码性能的数据示意图,横坐标为信噪比、纵坐标为误码率。图14以N=20、K=7为例,可以看出针对本申请实施例的编码方法的译码性能比现有技术中针对LTE RM码的译码性能要好,即本申请实施例的误码率要比现有技术对LTE RM码的误码率低。
如图15示出的本申请提供的译码性能的另一实施例的数据示意图,横坐标为信噪比、纵坐标为误码率。图15以N=20、K=8为例,可以看出针对本申请实施例的编码方法的译码性能比现有技术中针对LTE RM码的译码性能要好,即本申请实施例的误码率要比现有技术对LTE RM码的误码率低。
如图16示出的本申请提供的译码性能的另一实施例的数据示意图,横坐标为信噪比、纵坐标为误码率。图16以N=20、K=9为例,可以看出针对本申请实施例的编码方法的译码性能比现有技术中针对LTE RM码的译码性能要好,即本申请实施例的误码率要比现有技术对LTE RM码的误码率低。
下面结合附图说明本申请实施例提供的编码装置和编码设备的结构。
如图17示出的本申请实施例提供的编码装置的结构示意图,编码装置170可以为图1a中的网络设备101或终端设备102。编码装置170可以包括:第一读取单元1700、第二读取单元1702和第一添加单元1704,其中,
第一读取单元1700用于在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
第二读取单元1702用于从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
第一添加单元1704用于在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。
在其中一种实施方式中,第一读取单元1700可以具体用于,在第一码率K/Nmax小于等于阈值码率Rt的情况下,在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;组合所述矩阵Z21和所述矩阵Z22,得到第二矩阵。
在其中一种实施方式中,第二读取单元1702可以具体用于,从所述第二矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第三矩阵。
在其中一种实施方式中,编码装置170还可以包括第三读取单元1706、第四读取单元1708和第二添加单元1710,其中,
第三读取单元1706用于在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根据所述第一矩阵读取出第四矩阵;
第四读取单元1708用于从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
第二添加单元1710用于在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
在其中一种实施方式中,第三读取单元1706可以具体用于,在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在其中一种实施方式中,第四读取单元1708可以具体用于,从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在一种可能的实现方式中,
所述第一方向为矩阵的最上方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最右方。
或所述第一方向为矩阵的最上方;所述第二方向为矩阵的最左方。
或所述第一方向为矩阵的最下方;所述第二方向为矩阵的最左方。
在其中一种实施方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在其中一种实施方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
可以理解的,关于编码装置170包括的各个功能单元的具体实现,可以参考前述实施例,这里不再赘述。
如图18示出的本申请提供的编码装置的另一实施例的结构示意图,编码装置180同样可以为图1a中的网络设备101或终端设备102。编码装置180可以包括:第三读取单元1800、第四读取单元1802和第二添加单元1804,其中,
第三读取单元1800用于在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第四矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
第四读取单元1802用于从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
第二添加单元1804用于在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
其中,所述第一矩阵在第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在第一方向上的Nmax*Rt行(Nmax-K)列一致。
在其中一种实施方式中,第三读取单元1800可以具体用于,在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中读取第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
在其中一种实施方式中,第四读取单元1802可以具体用于,从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
在其中一种实施方式中,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
在其中一种实施方式中,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
可以理解的,关于编码装置180包括的各个功能单元的具体实现,可以参考前述实施例,这里不再赘述。
本申请实施例提供的编码设备具体可以为图2所示的终端设备或图3所示的网络设备,包括处理器,该处理器被配置用于调用存储的程序,执行上述方法实施例中的步骤。这里不再赘述。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (28)

  1. 一种编码方法,其特征在于,包括:
    在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
    从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
    在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
    其中,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。
  2. 如权利要求1所述的方法,其特征在于,所述在预设码表中根据第一矩阵读取出第二矩阵,包括:
    在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;
    在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;
    组合所述矩阵Z21和所述矩阵Z22,得到第二矩阵。
  3. 如权利要求1或2所述的方法,其特征在于,所述从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵,包括:
    从所述第二矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第三矩阵。
  4. 如权利要求1-3任一项所述的方法,其特征在于,还包括:
    在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根据所述第一矩阵读取出第四矩阵;
    从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
    在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
    其中,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
  5. 如权利要求4所述的方法,其特征在于,所述在所述预设码表中根据所述第一矩阵读取出第四矩阵,包括:
    在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;
    在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;
    组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
  6. 如权利要求4或5所述的方法,其特征在于,所述从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵,包括:
    从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
  7. 如权利要求1-6任一项所述的方法,其特征在于,
    在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
    若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
  8. 如权利要求1-7任一项所述的方法,其特征在于,
    在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
    若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
  9. 一种编码方法,其特征在于,包括:
    在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第四矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
    从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
    在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
    其中,所述第一矩阵在第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在第一方向上的Nmax*Rt行(Nmax-K)列一致。
  10. 如权利要求9所述的方法,其特征在于,所述在预设码表中根据第一矩阵读取出第四矩阵,包括:
    在预设码表中读取第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;
    在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;
    组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
  11. 如权利要求9或10所述的方法,其特征在于,所述从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵,包括:
    从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
  12. 如权利要求9-11任一项所述的方法,其特征在于,
    在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
    若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
  13. 如权利要求9-12任一项所述的方法,其特征在于,
    在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
    若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
  14. 一种编码装置,其特征在于,包括:
    第一读取单元,用于在第一码率K/Nmax小于等于阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第二矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
    第二读取单元,用于从所述第二矩阵中的预设第一位置起读取K行(N-K)列,得到第三矩阵;
    第一添加单元,用于在所述第三矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
    其中,所述第一矩阵在第一方向上的K行(Nmax-Nmax*Rt)列与所述第二矩阵在第二方向上的K行(Nmax-Nmax*Rt)列一致。
  15. 如权利要求14所述的装置,其特征在于,所述第一读取单元具体用于,在第一码率K/Nmax小于等于阈值码率Rt的情况下,在所述预设码表中读取所述第一矩阵在所述第一方向上的K行(Nmax-Nmax*Rt)列,得到矩阵Z21;在所述预设码表中读取与所述矩阵Z21在第三方向紧邻的K行(Nmax*Rt-K)列,得到矩阵Z22;所述第三方向与所述第二方向相反;组合所述矩阵Z21和所述矩阵Z22,得到第二矩阵。
  16. 如权利要求14或15所述的装置,其特征在于,所述第二读取单元具体用于,从所述第二矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第三矩阵。
  17. 如权利要求14-16任一项所述的装置,其特征在于,还包括:
    第三读取单元,用于在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中根据所述第一矩阵读取出第四矩阵;
    第四读取单元,用于从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五 矩阵;
    第二添加单元,用于在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
    其中,所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在所述第一方向上的Nmax*Rt行(Nmax-K)列一致。
  18. 如权利要求17所述的装置,其特征在于,所述第三读取单元具体用于,在第一码率K/Nmax大于所述阈值码率Rt的情况下,在所述预设码表中读取所述第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
  19. 如权利要求17或18所述的装置,其特征在于,所述第四读取单元具体用于,从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
  20. 如权利要求14-19任一项所述的装置,其特征在于,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
    若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
  21. 如权利要求14-20任一项所述的装置,其特征在于,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
    若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
  22. 一种编码装置,其特征在于,包括:
    第三读取单元,用于在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中根据第一矩阵读取出第四矩阵;所述第一矩阵包括从所述预设码表中读取的最大支持码长Nmax且在所述Rt下所对应的矩阵;
    第四读取单元,用于从所述第四矩阵中的预设第二位置起读取K行(N-K)列,得到第五矩阵;
    第二添加单元,用于在所述第五矩阵的左侧添加K行K列的单位阵,得到(N,K)线性分组码的生成矩阵;
    其中,所述第一矩阵在第二方向上的Nmax*Rt行(Nmax-K)列与所述第四矩阵在第一方向上的Nmax*Rt行(Nmax-K)列一致。
  23. 如权利要求22所述的装置,其特征在于,所述第三读取单元具体用于,在第一码率K/Nmax大于所述阈值码率Rt的情况下,在预设码表中读取第一矩阵在所述第二方向上的Nmax*Rt行(Nmax-K)列,得到矩阵Z23;在所述预设码表中读取与所述矩阵Z23在第四方向紧邻的(K-Nmax*Rt)行(Nmax-K)列,得到矩阵Z24;所述第四方向与所述第一方向相反;组合所述矩阵Z23和所述矩阵Z24,得到第四矩阵。
  24. 如权利要求22或23所述的装置,其特征在于,所述第四读取单元具体用于,从所述第四矩阵中的最左侧或最右侧起读取K行(N-K)列,得到第五矩阵。
  25. 如权利要求22-24任一项所述的装置,其特征在于,在所述K为K1的情况下,读取的所述第二矩阵为Z4;在所述K为K2的情况下,读取的所述第二矩阵为Z5;
    若所述K1小于所述K2,所述Z4的N与所述Z5的N相同,则所述Z4在所述第二方向上的K1行(N-K2)列与所述Z5在所述第一方向上的K1行(N-K2)列一致。
  26. 如权利要求22-25任一项所述的装置,其特征在于,在所述N为N1的情况下,从所述第二矩阵中的预设第一位置起读取K行(N1-K)列得到的所述第三矩阵为Z6;在所述N为N2的情况下,从所述第二矩阵中的预设第一位置起读取K行(N2-K)列得到的所述第三矩阵为Z7;
    若所述N1小于所述N2,则所述Z7从所述预设第一位置起的K行(N1-K)列与所述Z6一致。
  27. 一种编码设备,其特征在于,包括处理器,所述处理器被配置用于调用存储的程序,执行如权利要求1-13任一项所述的方法。
  28. 一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有程序,所述程序当被处理器执行时使所述处理器执行如权利要求1-13任一项所述的方法。
PCT/CN2020/103535 2019-07-31 2020-07-22 编码方法、装置、设备及计算机可读存储介质 WO2021017977A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/587,425 US11777532B2 (en) 2019-07-31 2022-01-28 Encoding method, apparatus, and device and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910704780.0 2019-07-31
CN201910704780.0A CN112311402B (zh) 2019-07-31 2019-07-31 编码方法、装置、设备及计算机可读存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/587,425 Continuation US11777532B2 (en) 2019-07-31 2022-01-28 Encoding method, apparatus, and device and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2021017977A1 true WO2021017977A1 (zh) 2021-02-04

Family

ID=74228373

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/103535 WO2021017977A1 (zh) 2019-07-31 2020-07-22 编码方法、装置、设备及计算机可读存储介质

Country Status (3)

Country Link
US (1) US11777532B2 (zh)
CN (1) CN112311402B (zh)
WO (1) WO2021017977A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160182187A1 (en) * 2013-08-20 2016-06-23 Lg Electronics Inc. Method for transmitting data by using polar coding in wireless access system
CN107026709A (zh) * 2016-02-01 2017-08-08 中兴通讯股份有限公司 一种数据包编码处理方法及装置、基站及用户设备
CN107294652A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 一种数据混合重传处理方法和装置
US20180034587A1 (en) * 2016-07-29 2018-02-01 Lg Electronics Inc. Method for performing polar coding and apparatus therefor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8537787B2 (en) * 2010-04-28 2013-09-17 FutueWei Technologies, Inc. System and method for mapping and decoding codewords in acknowledgement information communications
CN107404322B (zh) * 2014-09-17 2020-10-16 上海数字电视国家工程研究中心有限公司 针对低码率ldpc码的校验矩阵及ldpc码字
KR20170083432A (ko) * 2016-01-08 2017-07-18 삼성전자주식회사 레이트 호환 가능 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 송신 및 수신하는 장치 및 방법
CN107370560B (zh) * 2016-05-12 2020-04-21 华为技术有限公司 一种极化码的编码和速率匹配方法、装置及设备
US10469104B2 (en) * 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160182187A1 (en) * 2013-08-20 2016-06-23 Lg Electronics Inc. Method for transmitting data by using polar coding in wireless access system
CN107026709A (zh) * 2016-02-01 2017-08-08 中兴通讯股份有限公司 一种数据包编码处理方法及装置、基站及用户设备
CN107294652A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 一种数据混合重传处理方法和装置
US20180034587A1 (en) * 2016-07-29 2018-02-01 Lg Electronics Inc. Method for performing polar coding and apparatus therefor

Also Published As

Publication number Publication date
CN112311402A (zh) 2021-02-02
US20220158659A1 (en) 2022-05-19
CN112311402B (zh) 2023-04-18
US11777532B2 (en) 2023-10-03

Similar Documents

Publication Publication Date Title
US11184119B2 (en) Method and device for incremental redundancy hybrid automatic repeat request (IR-HARQ) re-transmission
CN112073160B (zh) 通信系统中冗余版本的设计方案
KR20190116816A (ko) 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
US11031955B2 (en) Incremental redundancy and variations for polar codes
US11664928B2 (en) Multi-label offset lifting method
CN108347295B (zh) 一种数据传输方法及装置
JP7252344B2 (ja) データ伝送方式及び通信デバイス
JP7092795B2 (ja) データ処理方法およびデータ処理装置
WO2021136540A1 (zh) Ldpc码的编码的方法和通信装置
US11901914B2 (en) Low-density parity-check (LDPC) encoding method and apparatus
EP3731443B1 (en) Data transmission method, device and system for determining a mother code length of a polar code based on a puncturing threshold
WO2018083302A1 (en) Encoding system for incremental redundancy for hybrid arq for wireless networks
US20230208555A1 (en) Permutated extension and shortened low density parity check codes for hybrid automatic repeat request
WO2021017977A1 (zh) 编码方法、装置、设备及计算机可读存储介质
US11539470B2 (en) Re-transmission control method, radio terminal, and radio base station
US11936476B2 (en) Data processing method, apparatus, and device
US20230327800A1 (en) Information processing device and decoding method
US20230327801A1 (en) Information processing device and information processing method
WO2021227834A1 (zh) 信息传输方法、装置及存储介质
WO2023202541A1 (zh) 一种信息传输方法和装置
WO2018137544A1 (zh) 数据的传输方法和装置
WO2018126442A1 (zh) 一种混合自动重传请求的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20847916

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20847916

Country of ref document: EP

Kind code of ref document: A1