WO2018126914A1 - Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium - Google Patents

Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium Download PDF

Info

Publication number
WO2018126914A1
WO2018126914A1 PCT/CN2017/118105 CN2017118105W WO2018126914A1 WO 2018126914 A1 WO2018126914 A1 WO 2018126914A1 CN 2017118105 W CN2017118105 W CN 2017118105W WO 2018126914 A1 WO2018126914 A1 WO 2018126914A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
kbset
nset
template
row
Prior art date
Application number
PCT/CN2017/118105
Other languages
French (fr)
Chinese (zh)
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
Priority claimed from CN201710449155.7A external-priority patent/CN108288968A/en
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2018126914A1 publication Critical patent/WO2018126914A1/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

Definitions

  • the present application relates to the field of communications, and in particular, to a coding method and apparatus, and a storage medium for a quasi-cyclic low-density parity check code.
  • the transmitting end of the digital communication system usually includes a source, a source encoder, a channel coder and a modulator
  • the receiving end usually includes a demodulator, a channel decoder, a source decoder and a sink.
  • the channel coder is used to introduce information bits into the information bits according to certain rules so that the receiving channel decoder can correct the errors occurring when the information is transmitted on the channel to some extent.
  • FEC Forward Error Correction
  • the commonly used FEC codes include a Turbo code, a Low Density Check Code (LDPC), a polarization code, a convolutional code, etc.; for example, in a Long-Term Evolution (LTE) system.
  • LDPC Low Density Check Code
  • LTE Long-Term Evolution
  • Turbo codes are used for data transmission; LDPC codes and convolutional codes are used in IEEE 802.11 systems.
  • the LDPC code is a linear block code based on the sparse check matrix. It is the sparsity of its check matrix that can realize the high-throughput and low-complexity codec, which makes the LDPC code practical.
  • LDPC codes have many decoding algorithms. Among them, Message Passing algorithm or Belief Propagation Algorithm (BP) is the mainstream and basic algorithm of LDPC codes. Currently, there are many improved effective decoding. algorithm.
  • the graphical representation of the LDPC parity check matrix is a bipartite graph.
  • An M*N parity check matrix H defines a constraint that each codeword having N bits satisfies M parity sets.
  • a bipartite graph includes N variable nodes and M parity nodes.
  • the bipartite graph there is no connection between any nodes of the same class, and the total number of edges in the bipartite graph is equal to the number of non-zero elements in the check matrix.
  • the parity check matrix H of this LDPC code be a (M ⁇ z) ⁇ (N ⁇ z) matrix, which is composed of M ⁇ N block matrices, each of which is a basic permutation of z ⁇ z.
  • the basic permutation matrix is a unit matrix
  • they are cyclic shifting matrices of the unit array (the default is right shift), so the structured LDPC code is also called quasi-cyclic LDPC code.
  • a block matrix is an all-zero matrix
  • the matrix is generally represented by -1, and if the cyclic shift s of the unit array is obtained, Equal to s, so all A basic check matrix Hb can be constructed.
  • z is the dimension indicating the standard permutation matrix, where z is called the spreading factor.
  • the structured LDPC code can be uniquely determined by the basic check matrix Hb and the spreading factor z.
  • the base check matrix Hb (2 rows and 4 columns) is as follows, and the expansion factor z is equal to 4:
  • the LDPC code can use hierarchical decoding, that is, a partial parallel decoding method.
  • the parity check matrix as described above has 8 rows, indicating that there are 8 parity check codes.
  • each parity check matrix needs to be decoded separately, if all 8 parity check codes are updated, For an iteration.
  • a basic matrix is used for each different spreading factor LDPC code, then for each different code length, the LDPC code codec needs to store a basic matrix, and when the code length is large, it is stored.
  • the parity check matrix H can be obtained, so that the generated codec can be applied to a case where the code length is variable.
  • the correction is to correct the non-negative value elements in the basic matrix Hb by using the spreading factors of different code lengths, and the corrected element value should be smaller than the expansion factor value under the code length.
  • correction algorithms For example, mod, scale+floor, or scale+round can be used.
  • P ij be the non-negative of the i-th row and j-th column of the basic matrix H b . 1 element, P ij ' is corrected
  • the non-negative 1 element of the i-th row and j-th column has:
  • z is the expansion factor corresponding to the current code length, that is, the number of rows or columns of the block square matrix
  • z max is the expansion factor corresponding to the maximum supported code length, or the maximum expansion factor.
  • Mod is the modulo operation
  • [ ⁇ ] is the next rounding operation
  • Round is the rounding operation.
  • the use of structured LDPC codes also has some problems in supporting flexible code lengths.
  • This method is called Shorten the code code. It can be seen that the number of padding bits for information bit sequences of different lengths is also different. When the number of bits is too large, the performance of shortening code coding will deteriorate. That is, the structured LDPC coding in the related art has a problem that the coding performance deteriorates when the length of the bit sequence to be coded continuously changes.
  • An embodiment of the present application provides a coding method and apparatus for a quasi-cyclic low-density parity check code, and a storage medium, to at least solve the problem that the coding performance of the bit sequence to be encoded is continuously changed when the length of the bit sequence to be coded is changed by using the structured LDPC code in the related art. problem.
  • a coding method of a quasi-cyclic low-density parity check code comprising: determining a spreading factor z, and a basic check matrix Hb; using the determined z and the Hb to be encoded
  • the kbset ⁇ 9,10,
  • k1 is the length of the bit sequence I to be encoded
  • the spreading factor z n*2i
  • n is a positive integer greater than 1
  • i is a non-negative integer less than 10
  • the n is determined from the second set nset.
  • a 2 j , where j is a positive integer.
  • the first function f 1 is expressed as: Where mod(x,y) represents x to y for remainder operations, and [ ⁇ ] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  • the first function f 1 is expressed as: Among them, [ ⁇ ] means taking integer operations, including rounding up, rounding down, or rounding rounding.
  • the second function f 2 is expressed as: Where mod(x, y) represents x to y for remainder operations, and [ ⁇ ] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  • an apparatus for encoding a quasi-cyclic low-density parity check code comprising: a determining module configured to determine a spreading factor z, and a basic check matrix Hb; and an encoding module configured to utilize Determining the z and the Hb to perform low density parity check code LDPC encoding on the encoded bit sequence I; wherein the Hb includes a block A corresponding to a mb row kb2 column of system bits and an mb corresponding to a parity bit
  • the kbset ⁇ 9,10,
  • a modifying unit configured to modify the non-negative element s in the Hb by: for a preset threshold a, when z ⁇ a, adopting the first function f1 Correcting the s in the Hb; when 0 ⁇ z ⁇ a, correcting the s in the Hb by using a
  • a storage medium is also provided.
  • the storage medium is arranged to store program code for performing the above steps.
  • the low-density parity check code LDPC encoding is performed according to the determined spreading factor z and the basic check matrix Hb, the bit sequence I to be encoded, the length of the bit sequence to be encoded using the structured LDPC encoding can be solved continuously.
  • the problem of poor coding performance at the time of change achieves the effect of improving the performance of LDPC coding.
  • FIG. 1 is a block diagram showing the hardware structure of a mobile terminal for encoding a quasi-cyclic low-density parity check code according to an embodiment of the present application
  • FIG. 2 is a flowchart of a method for encoding a quasi-cyclic low density parity check code according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a basic parity check matrix Hb used for encoding in the specific embodiment
  • FIG. 4 is a structural block diagram of an apparatus for encoding a quasi-cyclic low-density parity check code according to an embodiment of the present application
  • FIG. 5 is a structural block diagram (1) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application;
  • FIG. 6 is a structural block diagram (2) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 1 is a hardware structural block diagram of a mobile terminal of a quasi-cyclic low-density parity check code encoding method according to an embodiment of the present application.
  • mobile terminal 10 may include one or more (only one shown in FIG. 1) processor 102 (processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA.
  • FIG. 1 is merely illustrative and does not limit the structure of the above electronic device.
  • the mobile terminal 10 may also include more or fewer components than those shown in FIG. 1, or have a different configuration than that shown in FIG.
  • the memory 104 can be used to store software programs and modules of application software, such as program instructions/modules corresponding to the encoding method of the quasi-cyclic low-density parity check code in the embodiment of the present application, and the processor 102 runs the software stored in the memory 104. Programs and modules to perform various functional applications and data processing, that is, to implement the above methods.
  • Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 104 may further include memory remotely located relative to processor 102, which may be connected to mobile terminal 10 over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Transmission device 106 is for receiving or transmitting data via a network.
  • the network embodiment described above may include a wireless network provided by a communication provider of the mobile terminal 10.
  • the transmission device 106 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
  • the transmission device 106 can be a Radio Frequency (RF) module for communicating with the Internet wirelessly.
  • NIC Network Interface Controller
  • RF Radio Frequency
  • FIG. 2 is a flowchart of a method for encoding a quasi-cyclic low density parity check code according to an embodiment of the present application. As shown in FIG. 2, the process includes the following steps. :
  • Step S202 determining an expansion factor z, and a basic check matrix Hb;
  • Step S204 performing low-density parity check code LDPC encoding on the to-be-coded bit sequence I using the determined z and the Hb; wherein the Hb includes a block A corresponding to a mb row kb2 column of system bits and a parity bit corresponding to the parity bit.
  • the low-density parity check code LDPC encoding is performed according to the determined spreading factor z and the basic check matrix Hb; the bit sequence I to be encoded, the length of the bit sequence to be encoded using the structured LDPC encoding can be solved continuously.
  • the problem of poor coding performance at the time of change achieves the effect of improving the performance of LDPC coding.
  • the execution body of the foregoing steps may be a terminal (which may be an encoder or the like), but is not limited thereto.
  • the above-described z and the above-described Hb determining the kb column are subjected to the above LDPC encoding.
  • k1 is the length of the bit sequence I to be encoded
  • the spreading factor z n*2i
  • n is a positive integer greater than 1
  • i is a non-negative integer less than 10
  • the n is determined from the second set nset.
  • a 2 j , where j is a positive integer.
  • the first function f 1 is expressed as: Where mod(x, y) represents x to y for remainder operations, and [ ⁇ ] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  • the first function f 1 is expressed as: Among them, [ ⁇ ] means taking integer operations, including rounding up, rounding down, or rounding rounding.
  • the second function f 2 is expressed as: Where mod(x, y) represents x to y for remainder operations, and [ ⁇ ] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  • the template matrix HBG of the basic matrix Hb is the same as the first template matrix H1BG:
  • the second template matrix has the same number of rows and columns as the first template matrix
  • the second template matrix is a template matrix as follows:
  • the first sub-matrix H1BGsub1 of the first template matrix is identical to the first sub-matrix H2BGsub1 of the second template matrix, wherein the first sub-matrix is a sub-matrix composed of the first four rows.
  • the a plurality of "0" elements in the sub-matrix H2'BGsubj of the adjusted second template matrix are a "1" elements at corresponding positions in the sub-matrix H2BGsubj before adjustment; wherein a is a positive integer.
  • the b "1" elements in the sub-matrix H2'BGsubj of the adjusted second template matrix are b "0"s at corresponding positions in the sub-matrix H2BGsubj before adjustment. Element; where b is a positive integer.
  • the set_b' of the positions of the b 1 elements in the jth submatrix H2'BGsubj of the adjusted second template matrix is the position of the 3 0 elements in the second template matrix before the adjustment (row_q, Col_q) is a subset of the set set_b; wherein the position set set_b of the three 0 elements in the second template matrix before adjustment is: ⁇ (25, 0), (21, 0), (38, 6) ⁇ ;
  • row_q and col_q represent the row index and the column index of the 0 element in the second template matrix before the adjustment.
  • b 1, or 2, or 3.
  • the g rows in the matrix consisting of the pre-kb2+w columns of the j-th sub-matrix H2'BGsubi of the adjusted second template matrix are before the j-submatrix H2BGsubi before the adjustment.
  • the 31st row in the matrix consisting of the first 14 columns of the adjusted second template matrix is the 32nd row of the second template matrix before the adjustment; the matrix of the first 14 columns of the adjusted second template matrix is The 32rd line is the 31st line of the second template matrix before the adjustment.
  • the 33rd row in the matrix consisting of the first 14 columns of the adjusted second template matrix is the 34th row in the matrix consisting of the first 14 columns of the second template matrix before the adjustment; the adjusted second template
  • the 34th line in the matrix consisting of the first 14 columns of the matrix is the 33rd line in the matrix consisting of the first 14 columns of the second template matrix before the adjustment.
  • the specific embodiment provides a method for encoding a quasi-cyclic low-density parity check code of a low-density parity check code, which specifically includes the following steps:
  • Kb takes a value in the set kbset; when the length k1 of the bit sequence I to be encoded is smaller than the size kcb of the coding block, at least kcb-k1 known bits need to be added to the coded bit sequence, and the sequence is LDPC-encoded;
  • the ratio of kcb-k1 known bits to the coding block is smaller than a preset threshold T, that is, (kcb - k1) / kcb ⁇ T; wherein, in one embodiment, the threshold T is a positive number not exceeding 0.1.
  • the value set kbset of kb is ⁇ 8, 9, 10, 11, 12 ⁇
  • the set of values n of n is ⁇ 2, 3, 4, 5, 6 ⁇ ; or, kbset is ⁇ 12 , 13, 14, 15, 16 ⁇ , and nset is ⁇ 2, 3, 4, 5 ⁇ ; or, kbset is ⁇ 8, 9, 10, 11, 12, 13, 14, 15, 16 ⁇ , and nset is ⁇ 2,3,4 ⁇ .
  • the low density parity check code encoding for the coded bit sequence I includes:
  • performing low density parity check code encoding on the coded bit sequence I further includes:
  • the remaining columns are used as the columns of the new basic check matrix, and the coded bit sequence is encoded by the new basic check matrix to obtain the LDPC code.
  • the output bit sequence of the device After deleting the kb2-kb column from the preset basic check matrix, the remaining columns are used as the columns of the new basic check matrix, and the coded bit sequence is encoded by the new basic check matrix to obtain the LDPC code.
  • the p2 known bits in the output bit sequence are deleted to obtain an encoded bit sequence.
  • the bit sequence I to be encoded can be encoded using the kb column therein; the shortened number of system columns kb is taken in the set kbset.
  • kbset can be ⁇ 8,9,10,11,12 ⁇ .
  • the length of the bit sequence input to the encoder is some discrete value.
  • these discrete values are referred to as the coding block size kcb.
  • T may be a positive number not greater than 0.1, and may of course be other values, such as T being a positive number not greater than 0.2, and T being a positive number not greater than 0.15.
  • the set kcbset of kcb may be ⁇ 32 36 40 44 48 54 60 64 66 72 80 88 90 96 100 108 110 120 128 132 144 160 176 180 192 200 216 220 240 256 264 288 320 352 360 384 400 432 440 480 512 528 576 640 704 720 768 800 864 880 960 1024 1056 1152 1280 1408 1440 1536 1600 1728 1760 1920 2048 2112 2304 2560 2816 2880 3072 3200 3456 3520 3840 4096 4224 4608 5120 5632 5760 6144 6400 6912 7040 7680 8448 9216 ⁇ , of which 86 Elements.
  • the difference between the solution of the specific embodiment and the solution of the specific embodiment 2 is that the basic check matrix used in the coding in this embodiment is different from that of the specific embodiment 2.
  • the bit sequence I to be encoded can be encoded using the kb column therein; the shortened number of system columns kb is taken in the set kbset, and in this embodiment the kbset can be ⁇ 12, 13 , 14, 15, 16 ⁇ .
  • the value set nset of another parameter n of the expansion factor z can be ⁇ 2, 3, 4, 5 ⁇ .
  • the first function f 1 can be expressed as:
  • the second function f 2 can be expressed as: Where mod(x, y) represents the remainder operation of x versus y, which means taking integer operations, including rounding up, rounding down, or rounding rounding;
  • the first function f 1 can be expressed as: Where [ ⁇ ] means taking integer operations, including rounding up, rounding down, or rounding rounding;
  • the values of kb and n can make the size of the coding block have a good granularity, so as to reduce the number of padding bits, and ensure that the length of the bit sequence to be encoded changes by 1 bit granularity, the padding bit can be controlled in one Within the lower proportion, so as to ensure that the length of the bit sequence to be encoded changes continuously, it also has better coding performance.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present application which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present application.
  • an apparatus for encoding a quasi-cyclic low-density parity check code is also provided, which is used to implement the above-mentioned embodiments and preferred embodiments, and has not been described again.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 4 is a structural block diagram of an apparatus for encoding a quasi-cyclic low-density parity check code according to an embodiment of the present application. As shown in FIG. 4, the apparatus includes: a determining module 42 and an encoding module 44. Description:
  • FIG. 5 is a structural block diagram (1) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application. As shown in FIG. 5, the encoding module 44 is shown in FIG. The method includes: a determining unit 52 and an encoding unit 54, and the encoding module 44 is described below:
  • k1 is the length of the bit sequence I to be encoded
  • the spreading factor z n*2i
  • n is a positive integer greater than 1
  • i is a non-negative integer less than 10
  • the n is determined from the second set nset.
  • FIG. 6 is a structural block diagram (2) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application. As shown in FIG. 6, the encoding module 44 is shown in FIG. Including: a correction unit 62, the encoding module 44 is described below:
  • a 2 j , where j is a positive integer.
  • the first function f 1 is expressed as: Where mod(x, y) represents x to y for remainder operations, and [ ⁇ ] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  • the first function f 1 is expressed as: Among them, [ ⁇ ] means taking integer operations, including rounding up, rounding down, or rounding rounding.
  • the second function f 2 is expressed as: Where mod(x, y) represents x to y for remainder operations, and [ ⁇ ] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  • a storage medium is also provided.
  • the storage medium is arranged to store program code for performing the above steps.
  • the above embodiment is applicable to a shortened structured LDPC, and the size of the expansion factor is reasonably determined by the shortening range of the system column kb.
  • the kb and n are reasonably determined.
  • the value can be such that the size of the coding block has a good granularity to reduce the number of padding bits, and the padding bit can be controlled at a lower ratio when the length of the bit sequence to be encoded changes by 1 bit granularity. Therefore, it is also ensured that the length of the bit sequence to be encoded continuously changes when it is continuously changed.
  • Increasing the LDPC code adapts to different application scenarios, different data types, etc., and can improve the decoding performance of the LDPC code while improving flexibility.
  • Embodiments of the present application also provide a storage medium.
  • the above storage medium may be arranged to store program code for performing the above steps.
  • the storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a removable hard disk.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • mobile hard disk a hard disk
  • removable hard disk a variety of media that can store program code, such as a disk or an optical disk.
  • the processor executes the above steps in accordance with the program code already stored in the storage medium.
  • modules or steps of the present application can be implemented by a general computing device, which can be concentrated on a single computing device or distributed in a network composed of multiple computing devices.
  • they may be implemented by program code executable by the computing device, such that they may be stored in the storage device for execution by the computing device, and in some cases may be performed in a different order than that illustrated herein.
  • the application is not limited to any particular combination of hardware and software.
  • the low-density parity check code LDPC encoding is performed according to the determined spreading factor z and the basic check matrix Hb; the bit sequence I to be encoded, the length of the bit sequence to be encoded using the structured LDPC encoding can be solved continuously.
  • the problem of poor coding performance at the time of change achieves the effect of improving the performance of LDPC coding.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Provided are a method and device for coding of a quasi-cyclic low-density parity-check code, and a storage medium. The method comprises: determining an expansion factor z and a base check matrix Hb; and using the determined z and Hb to perform low-density parity-check (LDPC) coding on a bit sequence I to be coded, wherein Hb comprises a block A having a size of mb rows and kb2 columns and corresponding to systematic bits and a block B having a size of mb rows and mb columns and corresponding to check bits, kb2nb-mb, kb2 is an integer greater than or equal to 4, each of mb and nb is an integer.

Description

准循环低密度奇偶校验码的编码方法及装置、存储介质Coding method and device for quasi-cyclic low-density parity check code, storage medium
相关申请的交叉引用Cross-reference to related applications
本申请基于申请号为201710014296.6、申请日为2017年01月09日的中国专利申请,及申请号为201710449155.7、申请日为2017年06月14日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。This application is based on a Chinese patent application with the application number of 201710014296.6, the application date is January 09, 2017, and the Chinese patent application with the application number of 201710449155.7 and the application date of June 14, 2017, and requires the Chinese patent application. Priority is hereby incorporated by reference in its entirety in its entirety in its entirety in its entirety in its entirety in its entirety in
技术领域Technical field
本申请涉及通信领域,具体而言,涉及一种准循环低密度奇偶校验码的编码方法及装置、存储介质。The present application relates to the field of communications, and in particular, to a coding method and apparatus, and a storage medium for a quasi-cyclic low-density parity check code.
背景技术Background technique
数字通信系统发射端通常包括信源、信源编码器、信道编码器和调制器等部分,接收端通常包括解调器、信道译码器、信源译码器和信宿。信道编码器用于给信息比特按照一定的规则引入冗余信息以便接收端信道译码器能够在一定程度上纠正信息在信道上传输时发生的误码。The transmitting end of the digital communication system usually includes a source, a source encoder, a channel coder and a modulator, and the receiving end usually includes a demodulator, a channel decoder, a source decoder and a sink. The channel coder is used to introduce information bits into the information bits according to certain rules so that the receiving channel decoder can correct the errors occurring when the information is transmitted on the channel to some extent.
一般来讲,前向纠错(Forward error correction,简称为FEC)编码就是由信息比特序列生成校验比特序列的过程,信息比特序列和校验比特序列共同组成了我们常说的码字比特序列。常用的FEC编码包括Turbo码、低密度奇偶校验码(Low Density Check Code,简称为LDPC),极化码,卷积码等;例如长期演进(Long-Term Evolution,简称为LTE)系统中就采用了Turbo码用于数据传输;IEEE 802.11系统中采用的是LDPC码和卷积码。Generally speaking, Forward Error Correction (FEC) coding is a process of generating a check bit sequence from an information bit sequence. The information bit sequence and the check bit sequence together constitute a codeword bit sequence that we often say. . The commonly used FEC codes include a Turbo code, a Low Density Check Code (LDPC), a polarization code, a convolutional code, etc.; for example, in a Long-Term Evolution (LTE) system. Turbo codes are used for data transmission; LDPC codes and convolutional codes are used in IEEE 802.11 systems.
LDPC码是一种基于稀疏校验矩阵的线性分组码,正是利用它的校验矩阵的稀疏性,才能实现高吞吐量低复杂度的编译码,从而使得LDPC码走向 实用化。LDPC码具有很多译码算法,其中,信息传递算法(Message Passing algorithm)或者置信度传播算法(Belief Propagation algorithm,简称为BP)是LDPC码的主流和基础算法,目前出现了很多改进的有效译码算法。The LDPC code is a linear block code based on the sparse check matrix. It is the sparsity of its check matrix that can realize the high-throughput and low-complexity codec, which makes the LDPC code practical. LDPC codes have many decoding algorithms. Among them, Message Passing algorithm or Belief Propagation Algorithm (BP) is the mainstream and basic algorithm of LDPC codes. Currently, there are many improved effective decoding. algorithm.
LDPC奇偶校验矩阵的图形表示形式是二分图。二分图和校验矩阵之间具有一一对应的关系,一个M*N的奇偶校验矩阵H定义了每个具有N比特的码字满足M个奇偶校验集的约束。一个二分图包括N个变量节点和M个奇偶校验节点。当第m个校验涉及到第n个比特位,即H中第m行第n列的元素Hm,n=1时,将有一根连线连接校验节点m和变量节点n。二分图中,任何同一类的节点之间都不会有连接,并且二分图中的总边数和校验矩阵中非零元素的个数相等。The graphical representation of the LDPC parity check matrix is a bipartite graph. There is a one-to-one correspondence between the bipartite graph and the check matrix, and an M*N parity check matrix H defines a constraint that each codeword having N bits satisfies M parity sets. A bipartite graph includes N variable nodes and M parity nodes. When the mth check involves the nth bit, that is, the element Hm of the mth row and the nth column in H, n=1, there will be a wire connecting the check node m and the variable node n. In the bipartite graph, there is no connection between any nodes of the same class, and the total number of edges in the bipartite graph is equal to the number of non-zero elements in the check matrix.
一类特殊LDPC码由于具有结构化的特征,逐渐成为主流应用。设这种LDPC码的奇偶校验矩阵H为(M×z)×(N×z)矩阵,它是由M×N个分块矩阵构成,每个分块矩阵都是z×z的基本置换矩阵的不同幂次,基本置换矩阵为单位阵时,它们都是单位阵的循环移位矩阵(默认为右移),因此结构化LDPC码也被称为准循环LDPC码。具有形式如下:A special type of LDPC code has become a mainstream application due to its structured features. Let the parity check matrix H of this LDPC code be a (M×z)×(N×z) matrix, which is composed of M×N block matrices, each of which is a basic permutation of z×z. For different powers of the matrix, when the basic permutation matrix is a unit matrix, they are cyclic shifting matrices of the unit array (the default is right shift), so the structured LDPC code is also called quasi-cyclic LDPC code. Has the form as follows:
Figure PCTCN2017118105-appb-000001
Figure PCTCN2017118105-appb-000001
如果
Figure PCTCN2017118105-appb-000002
如果
Figure PCTCN2017118105-appb-000003
是大于或者等于0的整数,则定义
Figure PCTCN2017118105-appb-000004
其中,P是一个z×z的标准置换矩阵,具体形式如下:
in case
Figure PCTCN2017118105-appb-000002
in case
Figure PCTCN2017118105-appb-000003
Is an integer greater than or equal to 0, then define
Figure PCTCN2017118105-appb-000004
Where P is a standard permutation matrix of z × z, the specific form is as follows:
Figure PCTCN2017118105-appb-000005
Figure PCTCN2017118105-appb-000005
通过这样的幂次
Figure PCTCN2017118105-appb-000006
就可以唯一标识每一个分块矩阵,如果某一分块矩阵为全0矩阵,矩阵一般用-1来表示,如果是单位阵的循环移位s获得,则
Figure PCTCN2017118105-appb-000007
等于s,所以所有
Figure PCTCN2017118105-appb-000008
可以构成一个基础校验矩阵Hb。而z是指示所述标准置换矩阵的维数,在此将z称之为扩展因子。此时,结构化LDPC码完全可以由基础校验矩阵Hb和扩展因子z唯一确定。基础校验矩阵包括多个参数:mb、nb和kb2,其中,mb是基础校验矩阵行数(可以说是基础校验矩阵的校验列数),nb基础校验矩阵列数,而kb=nb-mb是基础校验矩阵的系统列数。
Through such powers
Figure PCTCN2017118105-appb-000006
It is possible to uniquely identify each of the block matrices. If a block matrix is an all-zero matrix, the matrix is generally represented by -1, and if the cyclic shift s of the unit array is obtained,
Figure PCTCN2017118105-appb-000007
Equal to s, so all
Figure PCTCN2017118105-appb-000008
A basic check matrix Hb can be constructed. And z is the dimension indicating the standard permutation matrix, where z is called the spreading factor. At this time, the structured LDPC code can be uniquely determined by the basic check matrix Hb and the spreading factor z. The basic check matrix includes a plurality of parameters: mb, nb, and kb2, where mb is the number of basic check matrix rows (which can be said to be the number of check columns of the basic check matrix), nb basic check matrix columns, and kb =nb-mb is the number of system columns of the underlying check matrix.
例如,基础校验矩阵Hb(2行4列)如下所述,而且扩展因子z等于4:For example, the base check matrix Hb (2 rows and 4 columns) is as follows, and the expansion factor z is equal to 4:
则奇偶校验矩阵为:Then the parity check matrix is:
Figure PCTCN2017118105-appb-000009
Figure PCTCN2017118105-appb-000009
LDPC码在译码时,可以采用分层译码,即采用部分并行译码方法。如上所述的奇偶校验矩阵有8行,说明有8个奇偶校验码,在译码时,需要每个奇偶校验矩阵分别译码,如果所有8个奇偶校验码都更新数据完则为一个迭代。而在每次迭代过程中,如果采用部分并行(即分层译码),如并行度为p,即有p个奇偶校验码同时更新,则迭代中当前和下一个p个奇偶校验码运行都是采用同一个更新模块,则译码器的复杂度要低很多,而且分层译码中下一层的数据更新可以采用当前已经更新好的数据,所以需要的迭代次数更低,译码吞吐量要高一些。如以上所示的H,如果并行度为2,则奇偶校验矩阵的每4行(基础校验矩阵的一行)有2个并行度的奇偶校验码同时更新。When decoding, the LDPC code can use hierarchical decoding, that is, a partial parallel decoding method. The parity check matrix as described above has 8 rows, indicating that there are 8 parity check codes. When decoding, each parity check matrix needs to be decoded separately, if all 8 parity check codes are updated, For an iteration. In each iteration, if partial parallelism (ie, hierarchical decoding) is adopted, such as parallelism is p, that is, there are p parity codes simultaneously updated, then the current and next p parity codes in the iteration The operation is to use the same update module, the complexity of the decoder is much lower, and the data update of the next layer in the layered decoding can use the currently updated data, so the number of iterations required is lower. The code throughput is higher. As H shown above, if the degree of parallelism is 2, every 4 rows of the parity check matrix (one row of the basic check matrix) have two parallel parity codes simultaneously updated.
如果对于每个不同的扩展因子LDPC码都采用一个基础矩阵,那么,对于每个不同的码长,所述的LDPC码编译码器都需要存储一个基础矩阵,当码长很多时,就要存储很多基础矩阵,这样会出现表示和存储问题。因此,当需要实现变码长的时候,同一码率的一定范围内多种码长的低密度奇偶校验码会使用统一个形式的基础矩阵,我们定义为统一基础矩阵
Figure PCTCN2017118105-appb-000010
不同码长时,若对
Figure PCTCN2017118105-appb-000011
进行修正和扩展,可以得到奇偶校验矩阵H,使得生成的编译码器可适用于码长可变的场合。
If a basic matrix is used for each different spreading factor LDPC code, then for each different code length, the LDPC code codec needs to store a basic matrix, and when the code length is large, it is stored. There are many basic matrices, which can cause presentation and storage problems. Therefore, when it is necessary to implement the variable code length, a low-density parity check code of a plurality of code lengths within a certain range of the same code rate uses a basic matrix of a form, which is defined as a unified basic matrix.
Figure PCTCN2017118105-appb-000010
When different code lengths, if yes
Figure PCTCN2017118105-appb-000011
By performing correction and expansion, the parity check matrix H can be obtained, so that the generated codec can be applied to a case where the code length is variable.
修正是利用不同码长的扩展因子对基础矩阵Hb中的非负值元素进行修正,修正后元素值应小于该码长下的扩展因子值。修正算法有很多种,例如,可以采用取模(mod)、取整(scale+floor)或舍入(scale+round)等,设P ij为基础矩阵H b第i行第j列的非负1元素,P ij′为修正以后
Figure PCTCN2017118105-appb-000012
的第i行第j列的非负1元素,有:
The correction is to correct the non-negative value elements in the basic matrix Hb by using the spreading factors of different code lengths, and the corrected element value should be smaller than the expansion factor value under the code length. There are many correction algorithms. For example, mod, scale+floor, or scale+round can be used. Let P ij be the non-negative of the i-th row and j-th column of the basic matrix H b . 1 element, P ij ' is corrected
Figure PCTCN2017118105-appb-000012
The non-negative 1 element of the i-th row and j-th column has:
对于取模(mod)方法:For the mod method:
Figure PCTCN2017118105-appb-000013
Figure PCTCN2017118105-appb-000013
对于取整(scale+floor)方法:For the rounding/floor method:
Figure PCTCN2017118105-appb-000014
Figure PCTCN2017118105-appb-000014
对于舍入(scale+round)方法:For rounding (round+round) methods:
Figure PCTCN2017118105-appb-000015
Figure PCTCN2017118105-appb-000015
其中,z为当前码长对应的扩展因子,即分块方阵的行数或者列数;z max为最大支持码长对应的扩展因子,或称最大扩展因子。mod为取模操作,[·]为下取整操作,Round为四舍五入操作。 Where z is the expansion factor corresponding to the current code length, that is, the number of rows or columns of the block square matrix; z max is the expansion factor corresponding to the maximum supported code length, or the maximum expansion factor. Mod is the modulo operation, [·] is the next rounding operation, and Round is the rounding operation.
但是采用结构化的LDPC码也会在支持灵活码长上存在一些问题,例如, 对于系统列为kb列,扩展因子为z的结构化LDPC而言,编码器输入的信息比特序列的长度K应满足K=kb*z;当K<kb*z时需要对信息比特序列采用已知比特进行填充,使得其长度达到kb*z,然后对填充后的信息比特序列编码,这种方法被称为缩短码编码。可见,对于不同长度的信息比特序列填充比特的数量也不同,当比特的数量过大时,缩短码编码的性能将会恶化。即相关技术中采用结构化LDPC编码存在待编码比特序列的长度连续变化时编码性能恶化的问题。However, the use of structured LDPC codes also has some problems in supporting flexible code lengths. For example, for a structured LDPC with a system column of kb columns and a spreading factor of z, the length K of the information bit sequence input by the encoder should be Satisfying K=kb*z; when K<kb*z, it is necessary to fill the information bit sequence with known bits so that its length reaches kb*z, and then encode the filled information bit sequence. This method is called Shorten the code code. It can be seen that the number of padding bits for information bit sequences of different lengths is also different. When the number of bits is too large, the performance of shortening code coding will deteriorate. That is, the structured LDPC coding in the related art has a problem that the coding performance deteriorates when the length of the bit sequence to be coded continuously changes.
针对上述技术问题,相关技术中并未提出有效的解决方案。In view of the above technical problems, an effective solution has not been proposed in the related art.
发明内容Summary of the invention
本申请实施例提供了一种准循环低密度奇偶校验码的编码方法及装置、存储介质,以至少解决相关技术中采用结构化LDPC编码存在待编码比特序列的长度连续变化时编码性能恶化的问题。An embodiment of the present application provides a coding method and apparatus for a quasi-cyclic low-density parity check code, and a storage medium, to at least solve the problem that the coding performance of the bit sequence to be encoded is continuously changed when the length of the bit sequence to be coded is changed by using the structured LDPC code in the related art. problem.
根据本申请的一个实施例,提供了一种准循环低密度奇偶校验码的编码方法,包括:确定扩展因子z,以及基础校验矩阵Hb;利用确定的所述z和所述Hb对待编码比特序列I进行低密度奇偶校验码LDPC编码;其中,所述Hb包括对应于系统比特的mb行kb2列的块A和对应于校验比特的mb行mb列的块B,kb2=nb-mb,kb2是大于或等于4的整数,mb、nb均是整数。According to an embodiment of the present application, there is provided a coding method of a quasi-cyclic low-density parity check code, comprising: determining a spreading factor z, and a basic check matrix Hb; using the determined z and the Hb to be encoded The bit sequence I performs low density parity check code LDPC encoding; wherein the Hb includes a block A corresponding to a mb row kb2 column of system bits and a block B corresponding to a mb row mb column of parity bits, kb2=nb- Mb, kb2 is an integer greater than or equal to 4, and both mb and nb are integers.
可选地,利用确定的所述z和所述Hb对所述I进行所述LDPC编码包括:从所述Hb包括的块A的kb2列中确定kb列,其中,z=n*2 i,所述kb是从第一集合kbset中确定的,所述n是从第二集合nset中确定的,所述z、n、kb2、kb均为正整数且kb小于或等于kb2,i为非负整数;利用确定的所述z和确定了所述kb列的所述Hb对所述I进行所述LDPC编码。 Optionally, performing the LDPC encoding on the I by using the determined z and the Hb comprises: determining a kb column from a kb2 column of the block A included by the Hb, where z=n*2 i , The kb is determined from a first set kbset, the n is determined from a second set nset, the z, n, kb2, kb are all positive integers and kb is less than or equal to kb2, i is non-negative An integer; performing the LDPC encoding on the I using the determined z and the Hb determining the kb column.
可选地,所述kbset与所述nset包括以下之一:所述kbset={8,9,10,11,12},且所述nset={2,3};所述kbset={8,9,10,11,12},且所述nset={2,3,4};所述kbset={8,9,10,11,12},且所述 nset={2,3,4,5};所述kbset={8,9,10,11,12},且所述nset={2,3,4,5,6};所述kbset={8,9,10,11,12},且所述nset={4,5,6,7};所述kbset={9,10,11,12},且所述nset={2,3,4,5};所述kbset={9,10,11,12},且所述nset={3,4,5};所述kbset={9,10,11,12},且所述nset={4,5,6};所述kbset={9,10,11,12},且所述nset={5,6,7};所述kbset={9,10,11,12},且所述nset={4,5,6,7};所述kbset={10,11,12},且所述nset={4,5,6,7};所述kbset={12,13,14,15,16},且所述nset={2,3,4,5};所述kbset={12,13,14,15,16},且所述nset={3,4,5,6};述kbset={12,13,14,15,16},且所述nset={4,5,6,7};所述kbset={12,13,14,15,16},且所述nset={3,4,5,7};所述kbset={13,14,15,16},且所述nset={3,4,5};所述kbset={13,14,15,16},且所述nset={4,5,6};所述kbset={13,14,15,16},且所述nset={2,3,4,5};所述kbset={13,14,15,16},且所述nset={3,4,5,6};所述kbset={13,14,15,16},且所述nset={4,5,6,7};所述kbset={13,14,15,16},且所述nset={3,4,5,7};所述kbset={14,15,16},且所述nset={4,5,6,7};所述kbset={8,9,10,11,12,13,14,15,16},且所述nset={2,3},所述kbset={20,21,22,23,24},且所述nset={4,5,6,7};所述kbset={21,22,23,24},且所述nset={4,5,6,7,8}。Optionally, the kbset and the nset include one of: the kbset={8, 9, 10, 11, 12}, and the nset={2, 3}; the kbset={8, 9,10,11,12}, and said nset={2,3,4}; said kbset={8,9,10,11,12}, and said nset={2,3,4, 5}; kbset={8,9,10,11,12}, and the nset={2,3,4,5,6}; the kbset={8,9,10,11,12 }, and said nset={4,5,6,7}; said kbset={9,10,11,12}, and said nset={2,3,4,5}; said kbset= {9, 10, 11, 12}, and the nset = {3, 4, 5}; the kbset = {9, 10, 11, 12}, and the nset = {4, 5, 6}; The kbset={9,10,11,12}, and the nset={5,6,7}; the kbset={9,10,11,12}, and the nset={4,5 , 6,7}; the kbset={10,11,12}, and the nset={4,5,6,7}; the kbset={12,13,14,15,16}, and The nset={2,3,4,5}; the kbset={12,13,14,15,16}, and the nset={3,4,5,6}; kbset={12 , 13, 14, 15, 16}, and the nset = {4, 5, 6, 7}; the kbset = {12, 13, 14, 15, 16}, and the nset = {3, 4 , 5, 7}; the kbset = {13, 14, 15, 16}, and the nset = {3, 4, 5}; the kbset = {13, 14 , 15, 16}, and the nset={4, 5, 6}; the kbset={13, 14, 15, 16}, and the nset={2, 3, 4, 5}; Kbset={13,14,15,16}, and the nset={3,4,5,6}; the kbset={13,14,15,16}, and the nset={4,5 , 6, 7}; the kbset={13, 14, 15, 16}, and the nset={3, 4, 5, 7}; the kbset={14, 15, 16}, and the Nset={4,5,6,7}; the kbset={8,9,10,11,12,13,14,15,16}, and the nset={2,3}, the kbset = {20, 21, 22, 23, 24}, and the nset = {4, 5, 6, 7}; the kbset = {21, 22, 23, 24}, and the nset = {4, 5,6,7,8}.
可选的,利用确定的上述z和上述Hb对上述I进行上述LDPC编码包括:添加x=kb2*z-k1个已知比特到k1比特的待编码比特序列I的之前或者之后,得到kb2*z比特的比特序列J。其中k1是待编码比特序列I的长度,扩展因子z=n*2i,n是大于1的正整数,i是小于10的非负整数,所述n是从第二集合nset中确定的。令kb=ceil(k1/z),其中ceil()表示向上取整运算,则kb具有如下特征之一:若所述nset={2,3},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4},则kb是 kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5,6},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={9,10,11,12}的一个元素;若所述nset={3,4,5},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6},则kb是kbset={9,10,11,12}的一个元素;若所述nset={5,6,7},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5},则kb是kbset={13,14,15,16}的一个元素;若所述nset={4,5,6},则kb是kbset={13,14,15,16}的一个元素;若所述nset={2,3,4,5},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5},则kb是kbset={14,15,16}的一个元素;若所述nset={4,5,6},则kb是kbset={14,15,16}的一个元素;若所述nset={2,3,4,5},则kb是kbset={14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是 kbset={14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={14,15,16}的一个元素;若所述nset={2,3},则kb是kbset={8,9,10,11,12,13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={20,21,22,23,24}的一个元素;若所述nset={4,5,6,7,8},则kb是kbset={21,22,23,24}的一个元素。利用确定的所述z和所述Hb对得到的比特序列J进行低密度奇偶校验码LDPC编码,得到nb*z比特的已编码序列。Optionally, performing the foregoing LDPC encoding on the I by using the determined z and the foregoing Hb includes: adding x=kb2*z-k1 known bits to the k1 bit before or after the bit sequence I to be encoded, to obtain kb2* Z-bit bit sequence J. Where k1 is the length of the bit sequence I to be encoded, the spreading factor z=n*2i, n is a positive integer greater than 1, i is a non-negative integer less than 10, and the n is determined from the second set nset. Let kb=ceil(k1/z), where ceil() denotes an up-rounding operation, then kb has one of the following characteristics: if the nset={2,3}, then kb is kbset={8,9,10 An element of 11,12}; if the nset={2,3,4}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2, 3,4}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2,3,4,5}, then kb is kbset={8,9, An element of 10, 11, 12}; if the nset = {2, 3, 4, 5, 6}, then kb is an element of kbset = {8, 9, 10, 11, 12}; Nset={4,5,6,7}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2,3,4,5}, then kb is Kbset={9,10,11,12} an element; if the nset={3,4,5}, then kb is an element of kbset={9,10,11,12}; if the nset ={4,5,6}, then kb is an element of kbset={9,10,11,12}; if the nset={5,6,7}, then kb is kbset={9,10, An element of 11,12}; if the nset={4,5,6,7}, then kb is an element of kbset={9,10,11,12}; if the nset={4,5 , 6,7}, then kb is an element of kbset={10,11,12}; if the nset={2,3, 4,5}, then kb is an element of kbset={12,13,14,15,16}; if the nset={3,4,5,6}, then kb is kbset={12,13, An element of 14,15,16}; if the nset={4,5,6,7}, then kb is an element of kbset={12, 13, 14, 15, 16}; if the nset= {3,4,5,7}, then kb is an element of kbset={12,13,14,15,16}; if the nset={3,4,5}, then kb is kbset={13 An element of 14,15,16}; if the nset={4,5,6}, then kb is an element of kbset={13,14,15,16}; if the nset={2, 3,4,5}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4,5,6}, then kb is kbset={13,14, An element of 15,16}; if the nset={4,5,6,7}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4 , 5,7}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4,5}, then kb is kbset={14,15,16} An element; if the nset={4,5,6}, then kb is an element of kbset={14,15,16}; if the nset={2,3,4,5}, then kb is Kbset={14,15,16} an element; if the nset={3,4,5,6}, then kb is kbset={14,15, An element of 16}; if the nset={4,5,6,7}, then kb is an element of kbset={14,15,16}; if the nset={3,4,5,7 }, then kb is an element of kbset={14,15,16}; if the nset={2,3}, then kb is kbset={8,9,10,11,12,13,14,15 , an element of 16}; if the nset={4, 5, 6, 7}, then kb is an element of kbset={20, 21, 22, 23, 24}; if the nset={4, 5,6,7,8}, then kb is an element of kbset={21,22,23,24}. The obtained bit sequence J is subjected to low density parity check code LDPC encoding using the determined z and the Hb pair to obtain a coded sequence of nb*z bits.
可选地,利用确定的所述z和所述Hb对所述I进行所述LDPC编码包括:通过以下方式对所述Hb中的非负元素s进行修正:对于预先设定的阈值a,当z≥a时,采用第一函数f 1对所述Hb中的所述s进行修正;当0<z<a时,采用第二函数f 2对所述Hb中的所述s进行修正;其中,f1和f2均至少是所述s,所述z和所述a的函数,当z≥a时,修正后的非负元素s’=f1(s,z,a);当0<z<a时,修正后的非负元素s’=f2(s,z,a)。 Optionally, performing the LDPC encoding on the I by using the determined z and the Hb comprises: modifying a non-negative element s in the Hb by: for a preset threshold a, when z≥a when using the function f s of said first pair of Hb 1 is corrected; when 0 <z <a, the use of the function f s of said second pair of Hb 2 is corrected; wherein , f1 and f2 are at least the s, the function of z and the a, when z ≥ a, the modified non-negative element s' = f1 (s, z, a); when 0 < z < When a, the corrected non-negative element s'=f2(s, z, a).
可选地,所述f 1至少是最大扩展因子z max,所述s,所述z和所述a的函数,当z≥a时,修正后的非负元素s’=f 1(s,z,z max,a)。 Optionally, the f 1 is at least a maximum expansion factor z max , the s, the function of the z and the a, when z≥a, the modified non-negative element s'=f 1 (s, z, z max , a).
可选地,a=2 j,其中,j是正整数。 Optionally, a=2 j , where j is a positive integer.
可选地,所述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,所述f 1表示截取所述比特流的前r 1位,f 1(s,z,z max,a)=[s 0s 1s 2……s r1-1],其中,所述r 1是一个整数,并且r 1=n-j-t 1,其中t 1是整数,并且2 t1≤z max/z<2 t1+1Optionally, the s comprises a binary representation of a sequence of bit lengths [s 0 s 1 s 2 ... s n-1 ] in binary, wherein s 0 is the highest bit and s n-1 is the lowest bit , the f 1 represents the first r 1 bit of the bit stream, f 1 (s, z, z max , a)=[s 0 s 1 s 2 ... s r1-1 ], wherein the r 1 is an integer, and r 1 = njt 1 , where t 1 is an integer, and 2 t1 ≤ z max /z<2 t1+1 .
可选地,所述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,所述f 2表示截取所述比特流的最后j位中的前r 2位,f 2(s,z,a)=[s n-j-1s n-js n-j+1……s n-j+r2-2],所述r 2是一个整数,并且r 2=j-t 2,其中t 2是整数,并且2 t2≤a/z<2 t2+1Optionally, the s comprises a binary representation of a sequence of bit lengths [s 0 s 1 s 2 ... s n-1 ] in binary, wherein s 0 is the highest bit and s n-1 is the lowest bit , the f 2 represents truncating the first r 2 bits in the last j bits of the bit stream, f 2 (s, z, a)=[s nj-1 s nj s n-j+1 ... s n- j+r2-2 ], the r 2 is an integer, and r 2 =jt 2 , where t 2 is an integer, and 2 t2 ≤ a/z<2 t2+1 .
可选地,所述第一函数f 1表示为:
Figure PCTCN2017118105-appb-000016
其中,mod(x,y) 表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
Optionally, the first function f 1 is expressed as:
Figure PCTCN2017118105-appb-000016
Where mod(x,y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
可选地,所述第一函数f 1表示为:
Figure PCTCN2017118105-appb-000017
其中,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
Optionally, the first function f 1 is expressed as:
Figure PCTCN2017118105-appb-000017
Among them, [·] means taking integer operations, including rounding up, rounding down, or rounding rounding.
可选地,所述第二函数f 2表示为:
Figure PCTCN2017118105-appb-000018
其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
Optionally, the second function f 2 is expressed as:
Figure PCTCN2017118105-appb-000018
Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
根据本申请的另一个实施例,还提供一种准循环低密度奇偶校验码的编码装置,包括:确定模块,配置为确定扩展因子z,以及基础校验矩阵Hb;编码模块,配置为利用确定的所述z和所述Hb对待编码比特序列I进行低密度奇偶校验码LDPC编码;其中,所述Hb包括对应于系统比特的mb行kb2列的块A和对应于校验比特的mb行mb列的块B,kb2=nb-mb,kb2是大于或等于4的整数,mb、nb均是整数。According to another embodiment of the present application, there is also provided an apparatus for encoding a quasi-cyclic low-density parity check code, comprising: a determining module configured to determine a spreading factor z, and a basic check matrix Hb; and an encoding module configured to utilize Determining the z and the Hb to perform low density parity check code LDPC encoding on the encoded bit sequence I; wherein the Hb includes a block A corresponding to a mb row kb2 column of system bits and an mb corresponding to a parity bit The block B of the row mb column, kb2=nb-mb, kb2 is an integer greater than or equal to 4, and both mb and nb are integers.
可选地,所述编码模块包括:确定单元,用于从所述Hb包括的块A的kb2列中确定kb列,其中,z=n*2 i,所述kb是从第一集合kbset中确定的,所述n是从第二集合nset中确定的,所述z、n、kb2、kb均为正整数且kb小于或等于kb2,i为非负整数;编码单元,用于利用确定的所述z和确定了所述kb列的所述Hb对所述I进行所述LDPC编码。 Optionally, the encoding module includes: a determining unit, configured to determine a kb column from a kb2 column of the block A included by the Hb, where z=n*2 i , the kb is from the first set kbset Determining that the n is determined from the second set nset, the z, n, kb2, kb are all positive integers and kb is less than or equal to kb2, i is a non-negative integer; the coding unit is configured to utilize the determined The z and the Hb determining the kb column perform the LDPC encoding on the I.
可选地,所述kbset与所述nset包括以下之一:所述kbset={8,9,10,11,12},且所述nset={2,3};所述kbset={8,9,10,11,12},且所述nset={2,3,4};所述kbset={8,9,10,11,12},且所述nset={2,3,4,5};所述kbset={8,9,10,11,12},且所述nset={2,3,4,5,6};所述kbset={8,9,10,11,12},且所述nset={4,5,6,7};所述 kbset={9,10,11,12},且所述nset={2,3,4,5};所述kbset={9,10,11,12},且所述nset={3,4,5};所述kbset={9,10,11,12},且所述nset={4,5,6};所述kbset={9,10,11,12},且所述nset={5,6,7};所述kbset={9,10,11,12},且所述nset={4,5,6,7};所述kbset={10,11,12},且所述nset={4,5,6,7};所述kbset={12,13,14,15,16},且所述nset={2,3,4,5};所述kbset={12,13,14,15,16},且所述nset={3,4,5,6};所述kbset={12,13,14,15,16},且所述nset={4,5,6,7};所述kbset={12,13,14,15,16},且所述nset={3,4,5,7};所述kbset={13,14,15,16},且所述nset={3,4,5};所述kbset={13,14,15,16},且所述nset={4,5,6};所述kbset={13,14,15,16},且所述nset={2,3,4,5};所述kbset={13,14,15,16},且所述nset={3,4,5,6};所述kbset={13,14,15,16},且所述nset={4,5,6,7};所述kbset={13,14,15,16},且所述nset={3,4,5,7};所述kbset={14,15,16},且所述nset={4,5,6,7};所述kbset={8,9,10,11,12,13,14,15,16},且所述nset={2,3},所述kbset={20,21,22,23,24},且所述nset={4,5,6,7};所述kbset={21,22,23,24},且所述nset={4,5,6,7,8}。Optionally, the kbset and the nset include one of: the kbset={8, 9, 10, 11, 12}, and the nset={2, 3}; the kbset={8, 9,10,11,12}, and said nset={2,3,4}; said kbset={8,9,10,11,12}, and said nset={2,3,4, 5}; kbset={8,9,10,11,12}, and the nset={2,3,4,5,6}; the kbset={8,9,10,11,12 }, and said nset={4,5,6,7}; said kbset={9,10,11,12}, and said nset={2,3,4,5}; said kbset= {9, 10, 11, 12}, and the nset = {3, 4, 5}; the kbset = {9, 10, 11, 12}, and the nset = {4, 5, 6}; The kbset={9,10,11,12}, and the nset={5,6,7}; the kbset={9,10,11,12}, and the nset={4,5 , 6,7}; the kbset={10,11,12}, and the nset={4,5,6,7}; the kbset={12,13,14,15,16}, and The nset={2,3,4,5}; the kbset={12,13,14,15,16}, and the nset={3,4,5,6}; the kbset={ 12, 13, 14, 15, 16}, and said nset = {4, 5, 6, 7}; said kbset = {12, 13, 14, 15, 16}, and said nset = {3, 4,5,7}; said kbset={13,14,15,16}, and said nset={3,4,5}; said kbset={13 , 14, 15, 16}, and the nset = {4, 5, 6}; the kbset = {13, 14, 15, 16}, and the nset = {2, 3, 4, 5}; The kbset={13, 14, 15, 16}, and the nset={3, 4, 5, 6}; the kbset={13, 14, 15, 16}, and the nset={4 , 5,6,7}; the kbset={13,14,15,16}, and the nset={3,4,5,7}; the kbset={14,15,16}, and The nset={4,5,6,7}; the kbset={8,9,10,11,12,13,14,15,16}, and the nset={2,3}, Kbset={20, 21, 22, 23, 24}, and the nset={4, 5, 6, 7}; the kbset={21, 22, 23, 24}, and the nset={ 4,5,6,7,8}.
可选地,所述编码模块包括:修正单元,用于通过以下方式对所述Hb中的非负元素s进行修正:对于预先设定的阈值a,当z≥a时,采用第一函数f1对所述Hb中的所述s进行修正;当0<z<a时,采用第二函数f2对所述Hb中的所述s进行修正;其中,f1和f2均至少是所述s,所述z和所述a的函数,当z≥a时,修正后的非负元素s’=f1(s,z,a);当0<z<a时,修正后的非负元素s’=f2(s,z,a)。Optionally, the encoding module includes: a modifying unit, configured to modify the non-negative element s in the Hb by: for a preset threshold a, when z≥a, adopting the first function f1 Correcting the s in the Hb; when 0 < z < a, correcting the s in the Hb by using a second function f2; wherein, both f1 and f2 are at least the s, The function of z and the a, when z≥a, the modified non-negative element s'=f1(s,z,a); when 0<z<a, the corrected non-negative element s'= F2(s,z,a).
根据本申请的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以上各步骤的程序代码。According to still another embodiment of the present application, a storage medium is also provided. The storage medium is arranged to store program code for performing the above steps.
通过本申请,由于根据确定的扩展因子z,以及基础校验矩阵Hb;对 待编码比特序列I进行低密度奇偶校验码LDPC编码,从而可以解决采用结构化LDPC编码存在待编码比特序列的长度连续变化时编码性能恶化的问题,达到了提高LDPC编码性能的效果。Through the present application, since the low-density parity check code LDPC encoding is performed according to the determined spreading factor z and the basic check matrix Hb, the bit sequence I to be encoded, the length of the bit sequence to be encoded using the structured LDPC encoding can be solved continuously. The problem of poor coding performance at the time of change achieves the effect of improving the performance of LDPC coding.
附图说明DRAWINGS
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the present application, and are intended to be a part of this application. In the drawing:
图1是本申请实施例的一种准循环低密度奇偶校验码的编码方法的移动终端的硬件结构框图;1 is a block diagram showing the hardware structure of a mobile terminal for encoding a quasi-cyclic low-density parity check code according to an embodiment of the present application;
图2是根据本申请实施例的一种准循环低密度奇偶校验码的编码方法的流程图;2 is a flowchart of a method for encoding a quasi-cyclic low density parity check code according to an embodiment of the present application;
图3是本具体实施例中的编码所用的基础校验矩阵Hb的示意图;3 is a schematic diagram of a basic parity check matrix Hb used for encoding in the specific embodiment;
图4是根据本申请实施例的一种准循环低密度奇偶校验码的编码装置的结构框图;4 is a structural block diagram of an apparatus for encoding a quasi-cyclic low-density parity check code according to an embodiment of the present application;
图5是根据本申请实施例的一种准循环低密度奇偶校验码的编码装置的编码模块44结构框图(一);5 is a structural block diagram (1) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application;
图6是根据本申请实施例的一种准循环低密度奇偶校验码的编码装置的编码模块44结构框图(二)。FIG. 6 is a structural block diagram (2) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application.
具体实施方式detailed description
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。The present application will be described in detail below with reference to the drawings in conjunction with the embodiments. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict.
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or order.
实施例一:Embodiment 1:
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种准循环低密度奇偶校验码的编码方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。The method embodiment provided in Embodiment 1 of the present application can be executed in a mobile terminal, a computer terminal or the like. Taking a mobile terminal as an example, FIG. 1 is a hardware structural block diagram of a mobile terminal of a quasi-cyclic low-density parity check code encoding method according to an embodiment of the present application. As shown in FIG. 1, mobile terminal 10 may include one or more (only one shown in FIG. 1) processor 102 (processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA. A memory 104 for storing data, and a transmission device 106 for communication functions. It will be understood by those skilled in the art that the structure shown in FIG. 1 is merely illustrative and does not limit the structure of the above electronic device. For example, the mobile terminal 10 may also include more or fewer components than those shown in FIG. 1, or have a different configuration than that shown in FIG.
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的准循环低密度奇偶校验码的编码方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 104 can be used to store software programs and modules of application software, such as program instructions/modules corresponding to the encoding method of the quasi-cyclic low-density parity check code in the embodiment of the present application, and the processor 102 runs the software stored in the memory 104. Programs and modules to perform various functional applications and data processing, that is, to implement the above methods. Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory. In some examples, memory 104 may further include memory remotely located relative to processor 102, which may be connected to mobile terminal 10 over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实施例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。Transmission device 106 is for receiving or transmitting data via a network. The network embodiment described above may include a wireless network provided by a communication provider of the mobile terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet. In one example, the transmission device 106 can be a Radio Frequency (RF) module for communicating with the Internet wirelessly.
在本实施例中提供了一种编码发送方法,图2是根据本申请实施例的一种准循环低密度奇偶校验码的编码方法的流程图,如图2所示,该流程包括如下步骤:In this embodiment, a code sending method is provided. FIG. 2 is a flowchart of a method for encoding a quasi-cyclic low density parity check code according to an embodiment of the present application. As shown in FIG. 2, the process includes the following steps. :
步骤S202,确定扩展因子z,以及基础校验矩阵Hb;Step S202, determining an expansion factor z, and a basic check matrix Hb;
步骤S204,利用确定的上述z和上述Hb对待编码比特序列I进行低密度奇偶校验码LDPC编码;其中,上述Hb包括对应于系统比特的mb行kb2列的块A和对应于校验比特的mb行mb列的块B,即,Hb=[A,B],kb2=nb-mb,kb2是大于或等于4的整数,nb是整数,i=1,2,…,mb,j=1,2,…nb。Step S204, performing low-density parity check code LDPC encoding on the to-be-coded bit sequence I using the determined z and the Hb; wherein the Hb includes a block A corresponding to a mb row kb2 column of system bits and a parity bit corresponding to the parity bit. Block B of the mb row mb column, that is, Hb=[A,B], kb2=nb-mb, kb2 is an integer greater than or equal to 4, nb is an integer, i=1, 2,..., mb, j=1 , 2,...nb.
通过上述步骤,由于根据确定的扩展因子z,以及基础校验矩阵Hb;对待编码比特序列I进行低密度奇偶校验码LDPC编码,从而可以解决采用结构化LDPC编码存在待编码比特序列的长度连续变化时编码性能恶化的问题,达到了提高LDPC编码性能的效果。Through the above steps, since the low-density parity check code LDPC encoding is performed according to the determined spreading factor z and the basic check matrix Hb; the bit sequence I to be encoded, the length of the bit sequence to be encoded using the structured LDPC encoding can be solved continuously. The problem of poor coding performance at the time of change achieves the effect of improving the performance of LDPC coding.
一实施例中,上述步骤的执行主体可以为终端(可以是编码器等),但不限于此。In an embodiment, the execution body of the foregoing steps may be a terminal (which may be an encoder or the like), but is not limited thereto.
在一个可选的实施例中,利用确定的上述z和上述Hb对上述I进行上述LDPC编码包括:从上述Hb包括的块A的kb2列中确定kb列,其中,z=n*2 i,上述kb是从第一集合kbset中确定的,上述n是从第二集合nset中确定的,上述z、n、kb2、kb均为正整数且kb小于或等于kb2,i为非负整数;利用确定的上述z和确定了上述kb列的上述Hb对上述I进行上述LDPC编码。 In an optional embodiment, performing the foregoing LDPC encoding on the I by using the determined z and the Hb includes: determining a kb column from a kb2 column of the block A included by the Hb, where z=n*2 i , The above kb is determined from the first set kbset, and the above n is determined from the second set nset, wherein the z, n, kb2, and kb are positive integers and kb is less than or equal to kb2, and i is a non-negative integer; The above-described z and the above-described Hb determining the kb column are subjected to the above LDPC encoding.
在一个可选的实施例中,上述kbset与上述nset包括以下之一:上述kbset={8,9,10,11,12},且上述nset={2,3};上述kbset={8,9,10,11,12},且上述nset={2,3,4};上述kbset={8,9,10,11,12},且上述nset={2,3,4,5};上述kbset={8,9,10,11,12},且上述nset={2,3,4,5,6};上述kbset={8,9,10,11,12},且上述nset={4,5,6,7};上述 kbset={9,10,11,12},且上述nset={2,3,4,5};上述kbset={9,10,11,12},且上述nset={3,4,5};上述kbset={9,10,11,12},且上述nset={4,5,6};上述kbset={9,10,11,12},且上述nset={5,6,7};上述kbset={9,10,11,12},且上述nset={4,5,6,7};上述kbset={10,11,12},且上述nset={4,5,6,7};上述kbset={12,13,14,15,16},且上述nset={2,3,4,5};上述kbset={12,13,14,15,16},且上述nset={3,4,5,6};述kbset={12,13,14,15,16},且上述nset={4,5,6,7};上述kbset={12,13,14,15,16},且上述nset={3,4,5,7};上述kbset={13,14,15,16},且上述nset={3,4,5};上述kbset={13,14,15,16},且上述nset={4,5,6};上述kbset={13,14,15,16},且上述nset={2,3,4,5};上述kbset={13,14,15,16},且上述nset={3,4,5,6};上述kbset={13,14,15,16},且上述nset={4,5,6,7};上述kbset={13,14,15,16},且上述nset={3,4,5,7};上述kbset={14,15,16},且上述nset={4,5,6,7};上述kbset={8,9,10,11,12,13,14,15,16},且上述nset={2,3},所述kbset={20,21,22,23,24},且所述nset={4,5,6,7};所述kbset={21,22,23,24},且所述nset={4,5,6,7,8}。在本实施例中,上述kbset与nset的取值是优选的取值,还可以是其他的取值,并且,取值方式不限。In an optional embodiment, the above kbset and the above nset include one of the following: kbset={8, 9, 10, 11, 12}, and the above nset={2, 3}; the above kbset={8, 9,10,11,12}, and the above nset={2,3,4}; the above kbset={8,9,10,11,12}, and the above nset={2,3,4,5}; The above kbset={8,9,10,11,12}, and the above nset={2,3,4,5,6}; the above kbset={8,9,10,11,12}, and the above nset= {4,5,6,7}; the above kbset={9,10,11,12}, and the above nset={2,3,4,5}; the above kbset={9,10,11,12}, And the above nset={3,4,5}; the above kbset={9,10,11,12}, and the above nset={4,5,6}; the above kbset={9,10,11,12}, And the above nset={5,6,7}; the above kbset={9,10,11,12}, and the above nset={4,5,6,7}; the above kbset={10,11,12}, And the above nset={4,5,6,7}; the above kbset={12,13,14,15,16}, and the above nset={2,3,4,5}; the above kbset={12,13 , 14, 15, 16}, and the above nset={3,4,5,6}; kbset={12,13,14,15,16}, and the above nset={4,5,6,7} The above kbset={12,13,14,15,16}, and the above nset={3,4,5,7}; the above kbset={13,14,15,16}, and the above nset={3, 4,5} The above kbset={13,14,15,16}, and the above nset={4,5,6}; the above kbset={13,14,15,16}, and the above nset={2,3,4,5 }; above kbset={13,14,15,16}, and the above nset={3,4,5,6}; the above kbset={13,14,15,16}, and the above nset={4,5 ,6,7}; the above kbset={13,14,15,16}, and the above nset={3,4,5,7}; the above kbset={14,15,16}, and the above nset={4 , 5,6,7}; the above kbset={8,9,10,11,12,13,14,15,16}, and the above nset={2,3}, the kbset={20,21, 22, 23, 24}, and said nset = {4, 5, 6, 7}; said kbset = {21, 22, 23, 24}, and said nset = {4, 5, 6, 7, 8}. In this embodiment, the value of the above kbset and nset is a preferred value, and may be other values, and the value is not limited.
在一个可选的实施例中,利用确定的上述z和上述Hb对上述I进行上述LDPC编码包括:添加x=kb2*z-k1个已知比特到k1比特的待编码比特序列I的之前或者之后,得到kb2*z比特的比特序列J。其中k1是待编码比特序列I的长度,扩展因子z=n*2i,n是大于1的正整数,i是小于10的非负整数,所述n是从第二集合nset中确定的。令kb=ceil(k1/z),其中ceil()表示向上取整运算,则kb具有如下特征之一:若所述nset={2,3},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4},则kb 是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5,6},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={9,10,11,12}的一个元素;若所述nset={3,4,5},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6},则kb是kbset={9,10,11,12}的一个元素;若所述nset={5,6,7},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5},则kb是kbset={13,14,15,16}的一个元素;若所述nset={4,5,6},则kb是kbset={13,14,15,16}的一个元素;若所述nset={2,3,4,5},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5},则kb是kbset={14,15,16}的一个元素;若所述nset={4,5,6},则kb是kbset={14,15,16}的一个元素;若所述nset={2,3,4,5},则kb是kbset={14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是 kbset={14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={14,15,16}的一个元素;若所述nset={2,3},则kb是kbset={8,9,10,11,12,13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={20,21,22,23,24}的一个元素;若所述nset={4,5,6,7,8},则kb是kbset={21,22,23,24}的一个元素。利用确定的所述z和所述Hb对得到的比特序列J进行低密度奇偶校验码LDPC编码,得到nb*z比特的已编码序列。In an optional embodiment, performing the foregoing LDPC encoding on the I by using the determined z and the Hb includes: adding x=kb2*z-k1 known bits to k1 bits before the bit sequence I to be encoded or Thereafter, a bit sequence J of kb2*z bits is obtained. Where k1 is the length of the bit sequence I to be encoded, the spreading factor z=n*2i, n is a positive integer greater than 1, i is a non-negative integer less than 10, and the n is determined from the second set nset. Let kb=ceil(k1/z), where ceil() denotes an up-rounding operation, then kb has one of the following characteristics: if the nset={2,3}, then kb is kbset={8,9,10 An element of 11,12}; if the nset={2,3,4}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2, 3,4}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2,3,4,5}, then kb is kbset={8,9, An element of 10, 11, 12}; if the nset = {2, 3, 4, 5, 6}, then kb is an element of kbset = {8, 9, 10, 11, 12}; Nset={4,5,6,7}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2,3,4,5}, then kb is Kbset={9,10,11,12} an element; if the nset={3,4,5}, then kb is an element of kbset={9,10,11,12}; if the nset ={4,5,6}, then kb is an element of kbset={9,10,11,12}; if the nset={5,6,7}, then kb is kbset={9,10, An element of 11,12}; if the nset={4,5,6,7}, then kb is an element of kbset={9,10,11,12}; if the nset={4,5 , 6,7}, then kb is an element of kbset={10,11,12}; if the nset={2,3, 4,5}, then kb is an element of kbset={12,13,14,15,16}; if the nset={3,4,5,6}, then kb is kbset={12,13, An element of 14,15,16}; if the nset={4,5,6,7}, then kb is an element of kbset={12, 13, 14, 15, 16}; if the nset= {3,4,5,7}, then kb is an element of kbset={12,13,14,15,16}; if the nset={3,4,5}, then kb is kbset={13 An element of 14,15,16}; if the nset={4,5,6}, then kb is an element of kbset={13,14,15,16}; if the nset={2, 3,4,5}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4,5,6}, then kb is kbset={13,14, An element of 15,16}; if the nset={4,5,6,7}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4 , 5,7}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4,5}, then kb is kbset={14,15,16} An element; if the nset={4,5,6}, then kb is an element of kbset={14,15,16}; if the nset={2,3,4,5}, then kb is Kbset={14,15,16} an element; if the nset={3,4,5,6}, then kb is kbset={14,15, An element of 16}; if the nset={4,5,6,7}, then kb is an element of kbset={14,15,16}; if the nset={3,4,5,7 }, then kb is an element of kbset={14,15,16}; if the nset={2,3}, then kb is kbset={8,9,10,11,12,13,14,15 , an element of 16}; if the nset={4, 5, 6, 7}, then kb is an element of kbset={20, 21, 22, 23, 24}; if the nset={4, 5,6,7,8}, then kb is an element of kbset={21,22,23,24}. The obtained bit sequence J is subjected to low density parity check code LDPC encoding using the determined z and the Hb pair to obtain a coded sequence of nb*z bits.
在一个可选的实施例中,利用确定的上述z和上述Hb对上述I进行上述LDPC编码包括:通过以下方式对上述Hb中的非负元素s进行修正:对于预先设定的阈值a,当z≥a时,采用第一函数f1对上述Hb中的上述s进行修正;当0<z<a时,采用第二函数f2对上述Hb中的上述s进行修正;其中,f1和f2均至少是上述s,上述z和上述a的函数,当z≥a时,修正后的非负元素s’=f1(s,z,a);当0<z<a时,修正后的非负元素s’=f2(s,z,a)。In an optional embodiment, performing the foregoing LDPC encoding on the I by using the determined z and the Hb includes: modifying the non-negative element s in the Hb by: for a preset threshold a, when When z≥a, the s in the above Hb is corrected by using the first function f1; when 0<z<a, the s in the above Hb is corrected by using the second function f2; wherein, both f1 and f2 are at least Is the above s, the above z and the function of a above, when z≥a, the corrected non-negative element s'=f1(s,z,a); when 0<z<a, the corrected non-negative element s'=f2(s,z,a).
在一个可选的实施例中,上述f 1至少是最大扩展因子z max,上述s,上述z和上述a的函数,当z≥a时,修正后的非负元素s’=f 1(s,z,z max,a)。 In an optional embodiment, the above f 1 is at least a maximum expansion factor z max , the above s, the function of the above z and the above a, when z≥a, the modified non-negative element s'=f 1 (s , z, z max , a).
在一个可选的实施例中,a=2 j,其中,j是正整数。 In an alternative embodiment, a = 2 j , where j is a positive integer.
在一个可选的实施例中,上述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,上述f 1表示截取上述比特流的前r 1位,f 1(s,z,z max,a)=[s 0s 1s 2……s r1-1],其中,上述r 1是一个整数,并且r 1=n-j-t 1,其中t 1是整数,并且2 t1≤z max/z<2 t1+1In an alternative embodiment, the above s comprises a binary representation of a sequence of bit lengths [s 0 s 1 s 2 ... s n-1 ] in binary, where s 0 is the highest bit, s n- 1 is the lowest bit, and f 1 represents the first r 1 bit of the bit stream, f 1 (s, z, z max , a)=[s 0 s 1 s 2 ... s r1-1 ], wherein r 1 is an integer, and r 1 =njt 1 , where t 1 is an integer, and 2 t1 ≤z max /z<2 t1+1 .
在一个可选的实施例中,上述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,上述f 2表示截取上述比特流的最后j位中的前r 2位,f 2(s,z,a)=[s n-j-1s n-js n-j+1……s n-j+r2-2],上述r 2是一个整数,并且r 2=j-t 2,其中t 2是整数,并且2 t2≤a/z<2 t2+1In an alternative embodiment, the above s comprises a binary representation of a sequence of bit lengths [s 0 s 1 s 2 ... s n-1 ] in binary, where s 0 is the highest bit, s n- 1 is the lowest bit, and f 2 above represents the first r 2 bits in the last j bits of the above bit stream, f 2 (s, z, a)=[s nj-1 s nj s n-j+1 ......s N-j+r2-2 ], the above r 2 is an integer, and r 2 =jt 2 , where t 2 is an integer, and 2 t2 ≤ a/z<2 t2+1 .
在一个可选的实施例中,上述第一函数f 1表示为:
Figure PCTCN2017118105-appb-000019
其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
In an alternative embodiment, the first function f 1 is expressed as:
Figure PCTCN2017118105-appb-000019
Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
在一个可选的实施例中,上述第一函数f 1表示为:
Figure PCTCN2017118105-appb-000020
其中,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
In an alternative embodiment, the first function f 1 is expressed as:
Figure PCTCN2017118105-appb-000020
Among them, [·] means taking integer operations, including rounding up, rounding down, or rounding rounding.
在一个可选的实施例中,上述第二函数f 2表示为:
Figure PCTCN2017118105-appb-000021
其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
In an alternative embodiment, the second function f 2 is expressed as:
Figure PCTCN2017118105-appb-000021
Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
在一个可选的实施例中,上述基础矩阵Hb的模板矩阵HBG与第一模板矩阵H1BG相同:In an optional embodiment, the template matrix HBG of the basic matrix Hb is the same as the first template matrix H1BG:
所述第一模板矩阵包括t个子矩阵,即
Figure PCTCN2017118105-appb-000022
其中,H1BGsub1,H1BGsub2,…,H1BGsubt分别为所述第一模板矩阵的第1,第2,…,第t子矩阵;所述每个子矩阵HBGsubi都包含所述第一模板矩阵的连续多行,索引值小的子矩阵对应的行位于索引值大的子矩阵对应的行之上,其中第i个子矩阵的行的数目为R1subi,并且,0<R1subi≤R1BG,i=1,2,…,t,其中R1BG是所述第一模板矩阵H1BG的行数;其中,t是正整数,并且并且t=2,或3,或4,或5。
The first template matrix includes t sub-matrices, ie
Figure PCTCN2017118105-appb-000022
Wherein, H1BGsub1, H1BGsub2, ..., H1BGsubt are respectively the first, second, ..., tth sub-matrices of the first template matrix; each of the sub-matrices HBGsubi comprises consecutive rows of the first template matrix, A row corresponding to a sub-matrix having a small index value is located above a row corresponding to a sub-matrix having a large index value, wherein the number of rows of the i-th sub-matrix is R1subi, and 0<R1subi≤R1BG,i=1,2,..., t, where R1BG is the number of rows of the first template matrix H1BG; wherein t is a positive integer, and and t=2, or 3, or 4, or 5.
存在1个第二模板矩阵,其中,所述第二模板矩阵与所述第一模板矩阵具有相同的行数和列数;并且,There is one second template matrix, wherein the second template matrix has the same number of rows and columns as the first template matrix; and
所述第二模板矩阵H 2 BG包含t个子矩阵,即
Figure PCTCN2017118105-appb-000023
其中,H2BGsub1,H2BGsub2,…,H2BGsubt分别为所述第二模板矩阵的第1,第2,…,第t子矩阵,所述每个子矩阵H2BGsubi都包含所述第二模板矩阵的连续多行,索引值小的子矩阵对应的行位于索引值大的子矩阵对应的行之上,其中第i个子矩阵的行数为R2subi,并且,1≤R2subi≤R2BG,i=1,2,…,t,其中R2BG是所述第二模板矩阵H2BGi的行数;其中,t是正整数,并且t=2,或3,或4,或5。
The second template matrix H 2 BG includes t sub-matrices, ie
Figure PCTCN2017118105-appb-000023
Wherein, H2BGsub1, H2BGsub2, ..., H2BGsubt are respectively the first, second, ..., tth sub-matrices of the second template matrix, and each of the sub-matrices H2BGsubi comprises consecutive rows of the second template matrix, A row corresponding to a sub-matrix having a small index value is located above a row corresponding to a sub-matrix having a large index value, wherein the number of rows of the i-th sub-matrix is R2subi, and 1≤R2subi≤R2BG,i=1,2,...,t Where R2BG is the number of rows of the second template matrix H2BGi; where t is a positive integer and t=2, or 3, or 4, or 5.
其中,所述第二模板矩阵为如下模板矩阵:The second template matrix is a template matrix as follows:
Figure PCTCN2017118105-appb-000024
Figure PCTCN2017118105-appb-000024
Figure PCTCN2017118105-appb-000025
Figure PCTCN2017118105-appb-000025
其中,kb2=10;行索引的范围为第0行至第41行;列索引的范围为第0列至第51列。Where kb2=10; the range of the row index is the 0th row to the 41st row; the range of the column index is the 0th column to the 51st column.
在一个可选的实施例中,上述第一模板矩阵与第二模板矩阵之间存在如下关系:In an optional embodiment, the following relationship exists between the first template matrix and the second template matrix:
所述第一模板矩阵的第1子矩阵H1BGsub1与所述第二模板矩阵的第1子矩阵H2BGsub1相同,其中,所述第一子矩阵是由前4行构成的子矩阵。The first sub-matrix H1BGsub1 of the first template matrix is identical to the first sub-matrix H2BGsub1 of the second template matrix, wherein the first sub-matrix is a sub-matrix composed of the first four rows.
在一个可选的实施例中,所述第一模板矩阵的第j子矩阵H1BGsubj与调整后的所述第二模板矩阵的第j子矩阵H2’BGsubj相同;其中,j为正整数,并且j=2,或3….,或t。In an optional embodiment, the jth submatrix H1BGsubj of the first template matrix is the same as the jth submatrix H2'BGsubj of the adjusted second template matrix; wherein j is a positive integer, and j =2, or 3.., or t.
所述调整后的第二模板矩阵的子矩阵H2’BGsubj中的a个“0”元素是调整之前的子矩阵H2BGsubj中的对应位置上的a个“1”元素;其中,a为正整数。The a plurality of "0" elements in the sub-matrix H2'BGsubj of the adjusted second template matrix are a "1" elements at corresponding positions in the sub-matrix H2BGsubj before adjustment; wherein a is a positive integer.
所述调整后的第二模板矩阵的第j子矩阵H2’BGsubj中的a个0元素的位置组成的集合set_a’,是所述调整前的第二模板矩阵中13个1元素的位置(row_p,col_p)组成的集合set_a的一个子集;其中,所述13个1元素在调整前的第二模板矩阵中的位置集合set_a为:{(4,1)、(8,1)、(10,1)、(13,1)、(15,11)、(17,11)、(17,12)、(18,12)、(19,0)、(20,1)、(25,1)、(27,1)、(38,7)};其中,row_p和col_p表示第p个1元素在调整前的第二模板矩阵中的行索引和列索引,并且row_p和col_p都是非负整数,其中a=1,或2,或3,或4,…,或13。The set_a' of the positions of the a 0 elements in the jth submatrix H2'BGsubj of the adjusted second template matrix is the position of 13 1 elements in the second template matrix before the adjustment (row_p , col_p) a subset of the set set_a; wherein the position set set_a of the 13 1 elements in the second template matrix before adjustment is: {(4, 1), (8, 1), (10 , 1), (13, 1), (15, 11), (17, 11), (17, 12), (18, 12), (19, 0), (20, 1), (25, 1 ), (27,1), (38,7)}; where row_p and col_p represent row index and column index of the pth 1 element in the second template matrix before adjustment, and both row_p and col_p are non-negative integers , where a=1, or 2, or 3, or 4,..., or 13.
在一个可选的实施例中,所述调整后的第二模板矩阵的子矩阵H2’BGsubj中的b个“1”元素是调整之前的子矩阵H2BGsubj中的对应位置上的b个“0”元素;其中,b为正整数。In an optional embodiment, the b "1" elements in the sub-matrix H2'BGsubj of the adjusted second template matrix are b "0"s at corresponding positions in the sub-matrix H2BGsubj before adjustment. Element; where b is a positive integer.
所述调整后的第二模板矩阵的第j子矩阵H2’BGsubj中的b个1元素的位置组成的集合set_b’是所述调整前的第二模板矩阵中3个0元素的位置(row_q,col_q)组成的集合set_b的一个子集;其中,所述3个0元素在调整前的第二模板矩阵中的位置集合set_b为:{(25,0)、(21,0)、(38,6)};The set_b' of the positions of the b 1 elements in the jth submatrix H2'BGsubj of the adjusted second template matrix is the position of the 3 0 elements in the second template matrix before the adjustment (row_q, Col_q) is a subset of the set set_b; wherein the position set set_b of the three 0 elements in the second template matrix before adjustment is: {(25, 0), (21, 0), (38, 6)};
其中,row_q和col_q表示所述0元素在调整前的第二模板矩阵中的行索引和列索引。其中b=1,或2,或3。Where row_q and col_q represent the row index and the column index of the 0 element in the second template matrix before the adjustment. Where b=1, or 2, or 3.
在一个可选的实施例中,所述调整后的第二模板矩阵的第j子矩阵H2’BGsubi的前kb2+w列组成的矩阵中的g行是调整前的第j子矩阵H2BGsubi的前kb2+w列组成的矩阵中的g行重新排列后得到;其中,w和g都是非负整数,并且w=0,或1,或2,或3,…,或10;g=2,或3,或4…,或10。In an optional embodiment, the g rows in the matrix consisting of the pre-kb2+w columns of the j-th sub-matrix H2'BGsubi of the adjusted second template matrix are before the j-submatrix H2BGsubi before the adjustment. The g rows in the matrix consisting of kb2+w columns are rearranged; wherein w and g are both non-negative integers, and w=0, or 1, or 2, or 3,..., or 10; g=2, or 3, or 4..., or 10.
所述调整后的第二模板矩阵的前14列组成的矩阵中的第31行是调整之前第二模板矩阵的第32行;所述调整后的第二模板矩阵的前14列组成的矩阵中的第32行是调整之前第二模板矩阵的第31行。The 31st row in the matrix consisting of the first 14 columns of the adjusted second template matrix is the 32nd row of the second template matrix before the adjustment; the matrix of the first 14 columns of the adjusted second template matrix is The 32rd line is the 31st line of the second template matrix before the adjustment.
所述调整后的第二模板矩阵的前14列组成的矩阵中的第33行是调整之前的第二模板矩阵的前14列组成的矩阵中的第34行;所述调整后的第二模板矩阵的前14列组成的矩阵中的第34行是调整之前的第二模板矩阵的前14列组成的矩阵中的第33行。The 33rd row in the matrix consisting of the first 14 columns of the adjusted second template matrix is the 34th row in the matrix consisting of the first 14 columns of the second template matrix before the adjustment; the adjusted second template The 34th line in the matrix consisting of the first 14 columns of the matrix is the 33rd line in the matrix consisting of the first 14 columns of the second template matrix before the adjustment.
下面结合具体实施例,对本申请进行详细的说明。The present application will be described in detail below in conjunction with specific embodiments.
具体实施例1:Specific embodiment 1:
本具体实施例提供一种低密度奇偶校验码的准循环低密度奇偶校验码 的编码方法,具体包括以下步骤:The specific embodiment provides a method for encoding a quasi-cyclic low-density parity check code of a low-density parity check code, which specifically includes the following steps:
确定编码所用的基础校验矩阵Hb及扩展因子z,并用基础校验矩阵Hb和扩展因子z对长度为k1比特的待编码比特序列I进行低密度奇偶校验码编码;其中,扩展因子z可以表示为一个正整数n与2的幂次的乘积,即z=n*2 i,其中,n的取值集合为nbset,i是非负整数;其中,基础校验矩阵Hb的各列是由系统列部分和校验列部分购成,基础校验矩阵的前kb2列为系统列,其中系统列的数目kb2=nb-mb,nb是基础矩阵的列数,mb是基础矩阵的行数。并且系统列可以缩短,即基础校验矩阵的kb2个系统列中,可以使用其中kb个系统列对待编码比特序列进行编码,且kb≤kb2。 Determining the basic parity check matrix Hb and the spreading factor z used for encoding, and performing low-density parity check code encoding on the bit sequence I to be encoded with length k1 bits by using the basic check matrix Hb and the spreading factor z; wherein the spreading factor z can Expressed as a product of a positive integer n and a power of 2, ie z=n*2 i , where the set of values of n is nbset, i is a non-negative integer; wherein the columns of the basic check matrix Hb are by the system The column part and the check column part are purchased, and the first kb2 column of the basic check matrix is a system column, wherein the number of system columns kb2=nb-mb, nb is the number of columns of the base matrix, and mb is the number of rows of the base matrix. And the system column can be shortened, that is, in the kb2 system columns of the basic check matrix, kb system columns can be used to encode the coded bit sequence, and kb ≤ kb2.
当待编码比特序列I的长度k1小于编码块的大小kcb时,需要对待编码比特序列至少添加kcb-k1个已知比特,并对序列进行LDPC编码;When the length k1 of the bit sequence I to be encoded is smaller than the size kcb of the coding block, at least kcb-k1 known bits need to be added to the bit sequence to be coded, and LDPC coding is performed on the sequence;
kb在集合kbset中取值;当待编码比特序列I的长度k1小于编码块的大小kcb时,需要对待编码比特序列至少添加kcb-k1个已知比特,并对序列进行LDPC编码;Kb takes a value in the set kbset; when the length k1 of the bit sequence I to be encoded is smaller than the size kcb of the coding block, at least kcb-k1 known bits need to be added to the coded bit sequence, and the sequence is LDPC-encoded;
编码块的大小kcb=kb*z=kb*n*2 i;并且,当kb在集合kbset中取值以及当n在集合nset中取值时,对于待编码比特序列的长度k1,至少添加的kcb-k1个已知比特数占编码块的比例小于预先设定的阈值T,即(kcb-k1)/kcb≤T;其中,一实施例中,阈值T为不超过0.1的正数。 The size of the coding block kcb=kb*z=kb*n*2 i ; and, when kb takes a value in the set kbset and when n takes a value in the set nset, at least the length k1 of the bit sequence to be encoded is added The ratio of kcb-k1 known bits to the coding block is smaller than a preset threshold T, that is, (kcb - k1) / kcb ≤ T; wherein, in one embodiment, the threshold T is a positive number not exceeding 0.1.
一实施例中,kb的取值集合kbset为{8,9,10,11,12},并且n的取值集合nset为{2,3,4,5,6};或者,kbset为{12,13,14,15,16},并且nset为{2,3,4,5};或者,kbset为{8,9,10,11,12,13,14,15,16},并且nset为{2,3,4}。In one embodiment, the value set kbset of kb is {8, 9, 10, 11, 12}, and the set of values n of n is {2, 3, 4, 5, 6}; or, kbset is {12 , 13, 14, 15, 16}, and nset is {2, 3, 4, 5}; or, kbset is {8, 9, 10, 11, 12, 13, 14, 15, 16}, and nset is {2,3,4}.
对待编码比特序列I进行低密度奇偶校验码编码包括:The low density parity check code encoding for the coded bit sequence I includes:
当待编码比特序列I的长度k1小于kb2*z时,对待编码比特序列添加1=kb2*z-k1=kb2*n*2 i-k1个已知比特,并利用预先设定的基础矩阵对待编 码比特序列进行编码得到LDPC编码器的输出比特序列。删除输出比特序列中的p1个已知比特,得到编码后的比特序列; When the length k1 of the bit sequence I to be encoded is smaller than kb2*z, 1=kb2*z-k1=kb2*n*2 i -k1 known bits are added to the bit sequence to be encoded, and treated with a preset basic matrix The coded bit sequence is encoded to obtain an output bit sequence of the LDPC encoder. Deleting p1 known bits in the output bit sequence to obtain an encoded bit sequence;
或者,对待编码比特序列I进行低密度奇偶校验码编码还包括:Alternatively, performing low density parity check code encoding on the coded bit sequence I further includes:
当待编码比特序列I的长度k1小于kcb=kb*z时,对待编码比特序列I增加p2=kb*z-k1=kb*n*2 i-k1个已知比特;其中kb=ceil(k1/z);其中,ceil表示向上取整操作。 When the length k1 of the bit sequence I to be encoded is smaller than kcb=kb*z, the bit number I to be encoded is increased by p2=kb*z-k1=kb*n*2 i -k1 known bits; wherein kb=ceil(k1 /z); where ceil represents the rounding up operation.
从预先设定的基础校验矩阵中删除kb2-kb列后,将剩下的各列作为新的基础校验矩阵的列,并利用新的基础校验矩阵对待编码比特序列进行编码得到LDPC编码器的输出比特序列。删除输出比特序列中的p2个已知比特,得到编码后的比特序列。After deleting the kb2-kb column from the preset basic check matrix, the remaining columns are used as the columns of the new basic check matrix, and the coded bit sequence is encoded by the new basic check matrix to obtain the LDPC code. The output bit sequence of the device. The p2 known bits in the output bit sequence are deleted to obtain an encoded bit sequence.
具体实施例2:Specific embodiment 2:
本具体实施例提供一种低密度奇偶校验码编码的方法,图3是本具体实施例中的编码所用的基础校验矩阵Hb的示意图,如图3所示:基础矩阵是一个mb=23行nb=35列的基础矩阵,基础矩阵中系统列的数目kb2=nb-mb=12;即基础矩阵的前12列为系统列,并且基础矩阵的系统列可以缩短,最短可以缩短为8列时仍然能有较好的纠错性能。因此在矩阵的前12列中,可以使用其中的kb列对待编码比特序列I进行编码;缩短后的系统列数目kb在集合kbset中取值。其中,kbset可以为{8,9,10,11,12}。The specific embodiment provides a method for encoding low-density parity check codes, and FIG. 3 is a schematic diagram of a basic check matrix Hb used for encoding in the specific embodiment, as shown in FIG. 3: the basic matrix is a mb=23 The basic matrix of row nb=35 columns, the number of system columns in the basic matrix kb2=nb-mb=12; that is, the first 12 columns of the basic matrix are system columns, and the system columns of the basic matrix can be shortened, and the shortest can be shortened to 8 columns. It still has better error correction performance. Therefore, in the first 12 columns of the matrix, the bit sequence I to be encoded can be encoded using the kb column therein; the shortened number of system columns kb is taken in the set kbset. Among them, kbset can be {8,9,10,11,12}.
由于结构化LDPC码的特点,输入到编码器的比特序列的长度是一些离散的数值,在本具体实施例中,这些离散的数值被称为编码块大小kcb。编码块的大小kcb与缩短后的系统列数目kb,以及扩展因子有关,即kcb=kb*z;在本具体实施例中,因为kb和z分别有多种可能的取值,因此kcb也有多种可能的取值。Due to the nature of the structured LDPC code, the length of the bit sequence input to the encoder is some discrete value. In the present embodiment, these discrete values are referred to as the coding block size kcb. The size kcb of the coding block is related to the shortened number of system columns kb and the spreading factor, that is, kcb=kb*z; in this embodiment, since kb and z respectively have various possible values, there are also many kcbs. Possible values.
当待编码比特序列I的长度k1不等于kcb时,需要对待编码比特序列I添加kcb-kb个已知比特,如果已知比特的数量过多,会使编码的性能显著恶化;为了使基础校验矩阵能支持任意长度为k1的待编码比特序列,并且编码性能不显著恶化,必须合理地选择扩展因子z的大小,以使得填充比特的数量kcb-k1在编码块中所占的比例小于预先设定的阈值T。其中,T可以为不大于0.1的正数,当然也可以是其他的取值,比如T为不大于0.2的正数,T为不大于0.15的正数等。When the length k1 of the bit sequence I to be encoded is not equal to kcb, kcb-kb known bits need to be added to the bit sequence I to be encoded. If the number of known bits is too large, the performance of the coding is significantly deteriorated; The matrix can support the bit sequence to be encoded with any length k1, and the coding performance does not deteriorate significantly. The size of the spreading factor z must be reasonably selected so that the proportion of the padding bits kcb-k1 in the coding block is less than The set threshold T. Wherein, T may be a positive number not greater than 0.1, and may of course be other values, such as T being a positive number not greater than 0.2, and T being a positive number not greater than 0.15.
一实施例中,扩展因子z可以表示为一个正整数n与2的幂次的乘积,即z=n*2 i,其中,i是非负整数,2 i的最大值通常与最大并行度有关,通常受限于LDPC的编译码器的硬件资源,假设1≤i≤7。扩展因子z的另一个参数n在集合nset={2,3,4,5,6}中取值,并且集合nset和集合kbset共同决定了基础校验矩阵的编码块大小kcb的集合。其中,kcb的集合kcbset可以为{32 36 40 44 48 54 60 64 66 72 80 88 90 96 100 108 110 120 128 132 144 160 176 180 192 200 216 220 240 256 264 288 320 352 360 384 400 432 440 480 512 528 576 640 704 720 768 800 864 880 960 1024 1056 1152 1280 1408 1440 1536 1600 1728 1760 1920 2048 2112 2304 2560 2816 2880 3072 3200 3456 3520 3840 4096 4224 4608 5120 5632 5760 6144 6400 6912 7040 7680 8448 9216},其中共有86个元素。 In one embodiment, the spreading factor z can be expressed as a product of a positive integer n and a power of 2, ie z=n*2 i , where i is a non-negative integer and the maximum value of 2 i is usually related to the maximum degree of parallelism, Usually limited by the hardware resources of the LDPC codec, assume 1 ≤ i ≤ 7. Another parameter n of the spreading factor z takes values in the set nset={2, 3, 4, 5, 6}, and the set nset and the set kbset together determine the set of encoding block sizes kcb of the underlying check matrix. Wherein, the set kcbset of kcb may be {32 36 40 44 48 54 60 64 66 72 80 88 90 96 100 108 110 120 128 132 144 160 176 180 192 200 216 220 240 256 264 288 320 352 360 384 400 432 440 480 512 528 576 640 704 720 768 800 864 880 960 1024 1056 1152 1280 1408 1440 1536 1600 1728 1760 1920 2048 2112 2304 2560 2816 2880 3072 3200 3456 3520 3840 4096 4224 4608 5120 5632 5760 6144 6400 6912 7040 7680 8448 9216}, of which 86 Elements.
对于任意长度为32≤k1≤9216的待编码比特序列,当k1≠kcb时,所需填充的已知比特数kcb-k1都不会超过预先设定的阈值。For a bit sequence to be encoded of any length 32 ≤ k1 ≤ 9216, when k1 ≠ kcb, the known number of bits kcb-k1 to be filled does not exceed a preset threshold.
在本具体实施例中,假设待编码比特序列I的长度为k1=193比特,大于193比特,且最接近193比特的kcb为kcb=200比特。对待编码比特序列添加p2=kcb-k1=7个已知比特。此时,kb=8,n=5,扩展因子z=n*2 i=5*22。 In this embodiment, it is assumed that the length of the bit sequence I to be encoded is k1=193 bits, which is larger than 193 bits, and kcb closest to 193 bits is kcb=200 bits. Add p2=kcb-k1=7 known bits to the coded bit sequence. At this time, kb=8, n=5, and the expansion factor z=n* 2i =5*22.
从预先设定的基础校验矩阵中删除kb2-kb=4列后,将剩下的各列作为 新的基础校验矩阵的列,并利用新的基础校验矩阵对待编码比特序列进行编码得到LDPC编码器的输出比特序列。删除输出比特序列中的p2=7个编码前添加的已知比特,得到编码后的比特序列。After deleting kb2-kb=4 columns from the preset basic check matrix, the remaining columns are used as the columns of the new basic check matrix, and the code base sequence to be coded is obtained by using the new basic check matrix. The output bit sequence of the LDPC encoder. The p2 = 7 known bits added before encoding are deleted in the output bit sequence to obtain the encoded bit sequence.
具体实施例3:Specific Example 3:
本具体实施例的方案与具体实施例2的方案的区别在于,在本具体实施例中编码采用的基础校验矩阵与具体实施例2不同,在本具体实施例中基础矩阵是一个mb=33行nb=49列的基础矩阵,基础矩阵中系统列的数目kb2=nb-mb=16;即基础矩阵的前16列为系统列,并且基础矩阵的系统列可以缩短,最短可以缩短为12列时仍然能有较好的纠错性能。因此在矩阵的前16列中,可以使用其中的kb列对待编码比特序列I进行编码;缩短后的系统列数目kb在集合kbset中取值,在本具体实施例中kbset可以为{12,13,14,15,16}。The difference between the solution of the specific embodiment and the solution of the specific embodiment 2 is that the basic check matrix used in the coding in this embodiment is different from that of the specific embodiment 2. In the specific embodiment, the basic matrix is a mb=33. The basic matrix of row nb=49 columns, the number of system columns in the basic matrix kb2=nb-mb=16; that is, the first 16 columns of the basic matrix are system columns, and the system columns of the basic matrix can be shortened, and the shortest can be shortened to 12 columns. It still has better error correction performance. Therefore, in the first 16 columns of the matrix, the bit sequence I to be encoded can be encoded using the kb column therein; the shortened number of system columns kb is taken in the set kbset, and in this embodiment the kbset can be {12, 13 , 14, 15, 16}.
本具体实施例与具体实施例2的另一个区别在于,扩展因子z的另一个参数n的取值集合nset可以为{2,3,4,5}。Another difference between this embodiment and the specific embodiment 2 is that the value set nset of another parameter n of the expansion factor z can be {2, 3, 4, 5}.
具体实施例4:Specific Example 4:
本具体实施例与上述具体实施例2或者具体实施例3的区别在于,在本具体实施例中,当待编码比特序列I的长度k1小于kb2*z时,对待编码比特序列添加p1=kb2*z-k1=kb2*n*2i-k1个已知比特,并利用预先设定的基础矩阵对待编码比特序列进行编码得到LDPC编码器的输出比特序列。删除输出比特序列中的p1个已知比特,得到编码后的比特序列。The difference between the specific embodiment and the foregoing specific embodiment 2 or embodiment 3 is that, in the specific embodiment, when the length k1 of the bit sequence I to be encoded is smaller than kb2*z, p1=kb2* is added to the bit sequence to be encoded. Z-k1=kb2*n*2i-k1 known bits, and the encoded bit sequence is encoded using a preset base matrix to obtain an output bit sequence of the LDPC encoder. The p1 known bits in the output bit sequence are deleted to obtain an encoded bit sequence.
具体实施例5:Specific embodiment 5:
本具体实施例与上述具体实施例1到具体实施例4的区别在于,在本 具体实施例中,需要对基础校验矩阵中的非负元素进行修正,修正方法如下:The difference between the specific embodiment and the specific embodiment 1 to the specific embodiment 4 is that, in the specific embodiment, the non-negative elements in the basic check matrix need to be corrected, and the correction method is as follows:
对于预先设定的阈值a,当扩展因子z≥a时,采用第一函数f1对基础校验矩阵中的非负元素s进行修正;当扩展因子0<z<a时,采用第二函数f2对基础校验矩阵中的非负元素进行修正;其中f1和f2至少是非负元素s,扩展因子z和阈值a的函数,即当z≥a时,s’=f1(s,z,a);当0<z<a时,s’=f2(s,z,a);For the preset threshold a, when the expansion factor z≥a, the non-negative element s in the basic check matrix is corrected by the first function f1; when the expansion factor 0<z<a, the second function f2 is adopted. Correcting the non-negative elements in the basic check matrix; where f1 and f2 are at least a function of the non-negative element s, the spreading factor z and the threshold a, ie when z≥a, s'=f1(s,z,a) When 0<z<a, s'=f2(s,z,a);
具体地,第一函数f 1可以表示为:
Figure PCTCN2017118105-appb-000026
第二函数f 2可以表示为: 其中mod(x,y)表示x对y求余数运算,表示取整数运算,包括向上取整,向下取整,或者舍入取整等;
Specifically, the first function f 1 can be expressed as:
Figure PCTCN2017118105-appb-000026
The second function f 2 can be expressed as: Where mod(x, y) represents the remainder operation of x versus y, which means taking integer operations, including rounding up, rounding down, or rounding rounding;
具体实施例6:Specific Example 6:
本具体实施例与上述具体实施例5的区别在于,在本具体实施例中,第一函数f 1还是最大扩展因子z max的函数,即当z≥a时,s’=f 1(s,z,z max,a); The difference between the specific embodiment and the above specific embodiment 5 is that, in the specific embodiment, the first function f 1 is also a function of the maximum expansion factor z max , that is, when z≥a, s'=f 1 (s, z,z max ,a);
具体地,第一函数f 1可以表示为:
Figure PCTCN2017118105-appb-000028
其中[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整等;
Specifically, the first function f 1 can be expressed as:
Figure PCTCN2017118105-appb-000028
Where [·] means taking integer operations, including rounding up, rounding down, or rounding rounding;
具体实施例7Specific embodiment 7
本具体实施例与上述具体实施例5或实施例6的区别在于,在本具体实施例中,a可以表示为2的幂,即a=2j,其中j是正整数;The difference between this embodiment and the foregoing specific embodiment 5 or embodiment 6 is that in the specific embodiment, a can be expressed as a power of 2, that is, a=2j, where j is a positive integer;
并且,非负元素s可以用二进制表示为一串长度为n的比特流[s0s1s2……sn-1],其中s0是最高位,sn-1是最低位,函数f1表示截取比特流的前r1位,即f1(s,z,zmax,a)=[s0s1s2……sr1-1],其中,r1 是一个整数,并且r1=n-j-t1,其中t1是整数,并且2t1≤zmax/z<2t1+1;And, the non-negative element s can be expressed in binary as a string of bit streams of length n [s0s1s2...sn-1], where s0 is the highest bit, sn-1 is the lowest bit, and function f1 represents the pre-r1 of the intercepted bit stream Bit, ie f1(s,z,zmax,a)=[s0s1s2...sr1-1], where r1 is an integer and r1=nj-t1, where t1 is an integer and 2t1≤zmax/z<2t1 +1;
第二函数f 2表示截取最后j位中的前r 2位,即f 2(s,z,a)=[s n-j-1s n-js n-j+1……s n-j+r2-2],r 2是一个整数,并且r 2=j-t 2,其中t 2是整数,并且2 t2≤a/z<2t 2+1The second function f 2 represents truncating the first r 2 bits in the last j bits, ie f 2 (s, z, a) = [s nj-1 s nj s n-j+1 ... s n-j + r2 2 ], r 2 is an integer, and r 2 = jt 2 , where t 2 is an integer, and 2 t2 ≤ a/z < 2t 2+1 .
综上所述,上述各实施例中记载的方案适用于可缩短的结构化LDPC,通过系统列kb的缩短范围,合理确定扩展因子的大小,对于z=n*2i形式的扩展因子,合理确定kb和n的取值,能够使得编码块的大小具有较好的颗粒度,以减小填充比特的数量,保证待编码比特序列的长度以1比特颗粒度变化时,填充比特都能控制在一个较低的比例之内,从而保证待编码比特序列的长度连续变化时也有较好的编码性能。In summary, the solution described in the above embodiments is applicable to a shortened structured LDPC, and the size of the expansion factor is reasonably determined by the shortening range of the system column kb, and is reasonably determined for the expansion factor of the form z=n*2i. The values of kb and n can make the size of the coding block have a good granularity, so as to reduce the number of padding bits, and ensure that the length of the bit sequence to be encoded changes by 1 bit granularity, the padding bit can be controlled in one Within the lower proportion, so as to ensure that the length of the bit sequence to be encoded changes continuously, it also has better coding performance.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation. Based on such understanding, the technical solution of the present application, which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk, The optical disc includes a number of instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present application.
在本实施例中还提供了一种准循环低密度奇偶校验码的编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。In this embodiment, an apparatus for encoding a quasi-cyclic low-density parity check code is also provided, which is used to implement the above-mentioned embodiments and preferred embodiments, and has not been described again. As used below, the term "module" may implement a combination of software and/or hardware of a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
图4是根据本申请实施例的一种准循环低密度奇偶校验码的编码装置的结构框图,如图4所示,该装置包括:确定模块42与编码模块44,下面 对该装置进行说明:4 is a structural block diagram of an apparatus for encoding a quasi-cyclic low-density parity check code according to an embodiment of the present application. As shown in FIG. 4, the apparatus includes: a determining module 42 and an encoding module 44. Description:
确定模块42,配置为确定扩展因子z,以及基础校验矩阵Hb;编码模块44,连接至上述确定模块42,配置为利用确定的上述z和上述Hb对待编码比特序列I进行低密度奇偶校验码LDPC编码;其中,上述Hb包括对应于系统比特的mb行kb2列的块A和对应于校验比特的mb行mb列的块B,kb2=nb-mb,kb2是大于或等于4的整数,nb是整数,i=1,2,…,mb,j=1,2,…nb。The determining module 42 is configured to determine the spreading factor z and the basic check matrix Hb; the encoding module 44 is coupled to the determining module 42 and configured to perform low density parity check using the determined z and the Hb to be encoded bit sequence I Code LDPC encoding; wherein, the above Hb includes a block A corresponding to a mb row kb2 column of a system bit and a block B corresponding to a mb row mb column of a parity bit, kb2=nb-mb, and kb2 is an integer greater than or equal to 4. , nb is an integer, i = 1, 2, ..., mb, j = 1, 2, ... nb.
在一个可选的实施例中,图5是根据本申请实施例的一种准循环低密度奇偶校验码的编码装置的编码模块44结构框图(一),如图5所示,编码模块44包括:确定单元52与编码单元54,下面对编码模块44进行说明:In an optional embodiment, FIG. 5 is a structural block diagram (1) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application. As shown in FIG. 5, the encoding module 44 is shown in FIG. The method includes: a determining unit 52 and an encoding unit 54, and the encoding module 44 is described below:
确定单元52,配置为从上述Hb包括的块A的kb2列中确定kb列,其中,z=n*2 i,上述kb是从第一集合kbset中确定的,上述n是从第二集合nset中确定的,上述z、n、kb2、kb均为正整数且kb小于或等于kb2,i为非负整数;编码单元54,连接至上述确定单元52,配置为利用确定的上述z和确定了上述kb列的上述Hb对上述I进行上述LDPC编码。 The determining unit 52 is configured to determine a kb column from the kb2 column of the block A included in the above Hb, wherein z=n*2 i , the kb is determined from the first set kbset, and the n is from the second set nset It is determined that the above z, n, kb2, kb are all positive integers and kb is less than or equal to kb2, i is a non-negative integer; the encoding unit 54, connected to the determining unit 52, is configured to determine the z and the determined using the determined The above Hb of the above kb column performs the above LDPC encoding on the above I.
在一个可选的实施例中,上述kbset与上述nset包括以下之一:上述kbset={8,9,10,11,12},且上述nset={2,3};上述kbset={8,9,10,11,12},且上述nset={2,3,4};上述kbset={8,9,10,11,12},且上述nset={2,3,4,5};上述kbset={8,9,10,11,12},且上述nset={2,3,4,5,6};上述kbset={8,9,10,11,12},且上述nset={4,5,6,7};上述kbset={9,10,11,12},且上述nset={2,3,4,5};上述kbset={9,10,11,12},且上述nset={3,4,5};上述kbset={9,10,11,12},且上述nset={4,5,6};上述kbset={9,10,11,12},且上述nset={5,6,7};上述kbset={9,10,11,12},且上述nset={4,5,6,7};上述kbset={10,11,12},且上述nset={4,5,6,7};上述kbset={12,13,14,15,16},且上述 nset={2,3,4,5};上述kbset={12,13,14,15,16},且上述nset={3,4,5,6};上述kbset={12,13,14,15,16},且上述nset={4,5,6,7};上述kbset={12,13,14,15,16},且上述nset={3,4,5,7};上述kbset={13,14,15,16},且上述nset={3,4,5};上述kbset={13,14,15,16},且上述nset={4,5,6};上述kbset={13,14,15,16},且上述nset={2,3,4,5};上述kbset={13,14,15,16},且上述nset={3,4,5,6};上述kbset={13,14,15,16},且上述nset={4,5,6,7};上述kbset={13,14,15,16},且上述nset={3,4,5,7};上述kbset={14,15,16},且上述nset={4,5,6,7};上述kbset={8,9,10,11,12,13,14,15,16},且上述nset={2,3}。In an optional embodiment, the above kbset and the above nset include one of the following: kbset={8, 9, 10, 11, 12}, and the above nset={2, 3}; the above kbset={8, 9,10,11,12}, and the above nset={2,3,4}; the above kbset={8,9,10,11,12}, and the above nset={2,3,4,5}; The above kbset={8,9,10,11,12}, and the above nset={2,3,4,5,6}; the above kbset={8,9,10,11,12}, and the above nset= {4,5,6,7}; the above kbset={9,10,11,12}, and the above nset={2,3,4,5}; the above kbset={9,10,11,12}, And the above nset={3,4,5}; the above kbset={9,10,11,12}, and the above nset={4,5,6}; the above kbset={9,10,11,12}, And the above nset={5,6,7}; the above kbset={9,10,11,12}, and the above nset={4,5,6,7}; the above kbset={10,11,12}, And the above nset={4,5,6,7}; the above kbset={12,13,14,15,16}, and the above nset={2,3,4,5}; the above kbset={12,13 , 14, 15, 16}, and the above nset={3,4,5,6}; the above kbset={12,13,14,15,16}, and the above nset={4,5,6,7} The above kbset={12,13,14,15,16}, and the above nset={3,4,5,7}; the above kbset={13,14,15,16}, and the above nset={3, 4,5 }; above kbset={13,14,15,16}, and the above nset={4,5,6}; the above kbset={13,14,15,16}, and the above nset={2,3,4 , 5}; the above kbset={13, 14, 15, 16}, and the above nset={3, 4, 5, 6}; the above kbset={13, 14, 15, 16}, and the above nset={4 , 5,6,7}; the above kbset={13,14,15,16}, and the above nset={3,4,5,7}; the above kbset={14,15,16}, and the above nset= {4,5,6,7}; the above kbset={8,9,10,11,12,13,14,15,16}, and the above nset={2,3}.
在一个可选的实施例中,利用确定的上述z和上述Hb对上述I进行上述LDPC编码包括:添加x=kb2*z-k1个已知比特到k1比特的待编码比特序列I的之前或者之后,得到kb2*z比特的比特序列J。其中k1是待编码比特序列I的长度,扩展因子z=n*2i,n是大于1的正整数,i是小于10的非负整数,所述n是从第二集合nset中确定的。令kb=ceil(k1/z),其中ceil()表示向上取整运算,则kb具有如下特征之一:若所述nset={2,3},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5,6},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={8,9,10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={9,10,11,12}的一个元素;若所述nset={3,4,5},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6},则kb是kbset={9,10,11,12}的一个元素;若所述nset={5,6,7},则kb是 kbset={9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={9,10,11,12}的一个元素;若所述nset={4,5,6,7},则kb是kbset={10,11,12}的一个元素;若所述nset={2,3,4,5},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={12,13,14,15,16}的一个元素;若所述nset={3,4,5},则kb是kbset={13,14,15,16}的一个元素;若所述nset={4,5,6},则kb是kbset={13,14,15,16}的一个元素;若所述nset={2,3,4,5},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={13,14,15,16}的一个元素;若所述nset={3,4,5},则kb是kbset={14,15,16}的一个元素;若所述nset={4,5,6},则kb是kbset={14,15,16}的一个元素;若所述nset={2,3,4,5},则kb是kbset={14,15,16}的一个元素;若所述nset={3,4,5,6},则kb是kbset={14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={14,15,16}的一个元素;若所述nset={3,4,5,7},则kb是kbset={14,15,16}的一个元素;若所述nset={2,3},则kb是kbset={8,9,10,11,12,13,14,15,16}的一个元素;若所述nset={4,5,6,7},则kb是kbset={20,21,22,23,24}的一个元素;若所述nset={4,5,6,7,8},则kb是kbset={21,22,23,24}的一个元素;利用确定的z和Hb对得到的比特序列J进行低密度奇偶校验码LDPC编码,得到nb*z比特的已编码序列。In an optional embodiment, performing the foregoing LDPC encoding on the I by using the determined z and the Hb includes: adding x=kb2*z-k1 known bits to k1 bits before the bit sequence I to be encoded or Thereafter, a bit sequence J of kb2*z bits is obtained. Where k1 is the length of the bit sequence I to be encoded, the spreading factor z=n*2i, n is a positive integer greater than 1, i is a non-negative integer less than 10, and the n is determined from the second set nset. Let kb=ceil(k1/z), where ceil() denotes an up-rounding operation, then kb has one of the following characteristics: if the nset={2,3}, then kb is kbset={8,9,10 An element of 11,12}; if the nset={2,3,4}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2, 3,4}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2,3,4,5}, then kb is kbset={8,9, An element of 10, 11, 12}; if the nset = {2, 3, 4, 5, 6}, then kb is an element of kbset = {8, 9, 10, 11, 12}; Nset={4,5,6,7}, then kb is an element of kbset={8,9,10,11,12}; if the nset={2,3,4,5}, then kb is Kbset={9,10,11,12} an element; if the nset={3,4,5}, then kb is an element of kbset={9,10,11,12}; if the nset ={4,5,6}, then kb is an element of kbset={9,10,11,12}; if the nset={5,6,7}, then kb is kbset={9,10, An element of 11,12}; if the nset={4,5,6,7}, then kb is an element of kbset={9,10,11,12}; if the nset={4,5 , 6,7}, then kb is an element of kbset={10,11,12}; if the nset={2,3, 4,5}, then kb is an element of kbset={12,13,14,15,16}; if the nset={3,4,5,6}, then kb is kbset={12,13, An element of 14,15,16}; if the nset={4,5,6,7}, then kb is an element of kbset={12, 13, 14, 15, 16}; if the nset= {3,4,5,7}, then kb is an element of kbset={12,13,14,15,16}; if the nset={3,4,5}, then kb is kbset={13 An element of 14,15,16}; if the nset={4,5,6}, then kb is an element of kbset={13,14,15,16}; if the nset={2, 3,4,5}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4,5,6}, then kb is kbset={13,14, An element of 15,16}; if the nset={4,5,6,7}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4 , 5,7}, then kb is an element of kbset={13,14,15,16}; if the nset={3,4,5}, then kb is kbset={14,15,16} An element; if the nset={4,5,6}, then kb is an element of kbset={14,15,16}; if the nset={2,3,4,5}, then kb is Kbset={14,15,16} an element; if the nset={3,4,5,6}, then kb is kbset={14,15, An element of 16}; if the nset={4,5,6,7}, then kb is an element of kbset={14,15,16}; if the nset={3,4,5,7 }, then kb is an element of kbset={14,15,16}; if the nset={2,3}, then kb is kbset={8,9,10,11,12,13,14,15 , an element of 16}; if the nset={4, 5, 6, 7}, then kb is an element of kbset={20, 21, 22, 23, 24}; if the nset={4, 5,6,7,8}, then kb is an element of kbset={21,22,23,24}; the obtained bit sequence J is subjected to low density parity check code LDPC coding using the determined z and Hb, The encoded sequence of nb*z bits.
在一个可选的实施例中,图6是根据本申请实施例的一种准循环低密 度奇偶校验码的编码装置的编码模块44结构框图(二),如图6所示,编码模块44包括:修正单元62,下面对编码模块44进行说明:In an optional embodiment, FIG. 6 is a structural block diagram (2) of an encoding module 44 of an encoding apparatus for a quasi-cyclic low-density parity check code according to an embodiment of the present application. As shown in FIG. 6, the encoding module 44 is shown in FIG. Including: a correction unit 62, the encoding module 44 is described below:
修正单元62,配置为通过以下方式对上述Hb中的非负元素s进行修正:对于预先设定的阈值a,当z≥a时,采用第一函数f 1对上述Hb中的上述s进行修正;当0<z<a时,采用第二函数f 2对上述Hb中的上述s进行修正;其中,f 1和f 2均至少是上述s,上述z和上述a的函数,当z≥a时,修正后的非负元素s’=f 1(s,z,a);当0<z<a时,修正后的非负元素s’=f 2(s,z,a)。 The correcting unit 62 is configured to correct the non-negative element s in the above Hb by correcting the s in the Hb by using the first function f 1 for a predetermined threshold a ; when 0 <z while <a, using a second function f 2 in the above Hb correcting s; wherein, f 1 and f 2 s are the above-mentioned at least, a function of z and the above-described, when z≥a When the corrected non-negative element s'=f 1 (s, z, a); when 0 < z < a, the corrected non-negative element s' = f 2 (s, z, a).
在一个可选的实施例中,上述f 1至少是最大扩展因子z max,上述s,上述z和上述a的函数,当z≥a时,修正后的非负元素s’=f 1(s,z,z max,a)。 In an optional embodiment, the above f 1 is at least a maximum expansion factor z max , the above s, the function of the above z and the above a, when z≥a, the modified non-negative element s'=f 1 (s , z, z max , a).
在一个可选的实施例中,a=2 j,其中,j是正整数。 In an alternative embodiment, a = 2 j , where j is a positive integer.
在一个可选的实施例中,上述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,上述f 1表示截取上述比特流的前r 1位,f 1(s,z,z max,a)=[s 0s 1s 2……s r1-1],其中,上述r 1是一个整数,并且r 1=n-j-t 1,其中t 1是整数,并且2 t1≤z max/z<2 t1+1In an alternative embodiment, the above s comprises a binary representation of a sequence of bit lengths [s 0 s 1 s 2 ... s n-1 ] in binary, where s 0 is the highest bit, s n- 1 is the lowest bit, and f 1 represents the first r 1 bit of the bit stream, f 1 (s, z, z max , a)=[s 0 s 1 s 2 ... s r1-1 ], wherein r 1 is an integer, and r 1 =njt 1 , where t 1 is an integer, and 2 t1 ≤z max /z<2 t1+1 .
在一个可选的实施例中,上述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,上述f 2表示截取上述比特流的最后j位中的前r 2位,f 2(s,z,a)=[s n-j-1s n-js n-j+1……s n-j+r2-2],上述r 2是一个整数,并且r 2=j-t 2,其中t 2是整数,并且2 t2≤a/z<2 t2+1In an alternative embodiment, the above s comprises a binary representation of a sequence of bit lengths [s 0 s 1 s 2 ... s n-1 ] in binary, where s 0 is the highest bit, s n- 1 is the lowest bit, and f 2 above represents the first r 2 bits in the last j bits of the above bit stream, f 2 (s, z, a)=[s nj-1 s nj s n-j+1 ......s N-j+r2-2 ], the above r 2 is an integer, and r 2 =jt 2 , where t 2 is an integer, and 2 t2 ≤ a/z<2 t2+1 .
在一个可选的实施例中,上述第一函数f 1表示为:
Figure PCTCN2017118105-appb-000029
其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
In an alternative embodiment, the first function f 1 is expressed as:
Figure PCTCN2017118105-appb-000029
Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
在一个可选的实施例中,上述第一函数f 1表示为:
Figure PCTCN2017118105-appb-000030
其中,[·]表示取整数运算,包括向上取整,向下取 整,或者舍入取整。
In an alternative embodiment, the first function f 1 is expressed as:
Figure PCTCN2017118105-appb-000030
Among them, [·] means taking integer operations, including rounding up, rounding down, or rounding rounding.
在一个可选的实施例中,上述第二函数f 2表示为:
Figure PCTCN2017118105-appb-000031
其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
In an alternative embodiment, the second function f 2 is expressed as:
Figure PCTCN2017118105-appb-000031
Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
根据本申请的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以上各步骤的程序代码。According to still another embodiment of the present application, a storage medium is also provided. The storage medium is arranged to store program code for performing the above steps.
综上所述,上述实施例适用于可缩短的结构化LDPC,通过系统列kb的缩短范围,合理确定扩展因子的大小,对于z=n*2 i形式的扩展因子,合理确定kb和n的取值,能够使得编码块的大小具有较好的颗粒度,以减小填充比特的数量,保证待编码比特序列的长度以1比特颗粒度变化时,填充比特都能控制在一个较低的比例之内,从而保证待编码比特序列的长度连续变化时也有较好的编码性能。增加LDPC码的适应于不同的应用场景、不同的数据类型等等,以及在提高灵活性的同时也可以提高LDPC码的译码性能。 In summary, the above embodiment is applicable to a shortened structured LDPC, and the size of the expansion factor is reasonably determined by the shortening range of the system column kb. For the expansion factor of the form z=n*2 i , the kb and n are reasonably determined. The value can be such that the size of the coding block has a good granularity to reduce the number of padding bits, and the padding bit can be controlled at a lower ratio when the length of the bit sequence to be encoded changes by 1 bit granularity. Therefore, it is also ensured that the length of the bit sequence to be encoded continuously changes when it is continuously changed. Increasing the LDPC code adapts to different application scenarios, different data types, etc., and can improve the decoding performance of the LDPC code while improving flexibility.
本申请的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以上各步骤的程序代码。Embodiments of the present application also provide a storage medium. In the present embodiment, the above storage medium may be arranged to store program code for performing the above steps.
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM,)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。In this embodiment, the storage medium may include, but is not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a removable hard disk. A variety of media that can store program code, such as a disk or an optical disk.
在本实施例中,处理器根据存储介质中已存储的程序代码执行以上各步骤。In the present embodiment, the processor executes the above steps in accordance with the program code already stored in the storage medium.
一实施例中,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。In an embodiment, the specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the optional embodiments, and details are not described herein again.
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤 可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, which can be concentrated on a single computing device or distributed in a network composed of multiple computing devices. In the above, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device for execution by the computing device, and in some cases may be performed in a different order than that illustrated herein. Or the steps described, either separately as individual integrated circuit modules, or as a plurality of modules or steps in a single integrated circuit module. Thus, the application is not limited to any particular combination of hardware and software.
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above description is only the preferred embodiment of the present application, and is not intended to limit the present application, and various changes and modifications may be made to the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this application are intended to be included within the scope of the present application.
工业实用性Industrial applicability
采用本申请,由于根据确定的扩展因子z,以及基础校验矩阵Hb;对待编码比特序列I进行低密度奇偶校验码LDPC编码,从而可以解决采用结构化LDPC编码存在待编码比特序列的长度连续变化时编码性能恶化的问题,达到了提高LDPC编码性能的效果。With the present application, since the low-density parity check code LDPC encoding is performed according to the determined spreading factor z and the basic check matrix Hb; the bit sequence I to be encoded, the length of the bit sequence to be encoded using the structured LDPC encoding can be solved continuously. The problem of poor coding performance at the time of change achieves the effect of improving the performance of LDPC coding.

Claims (23)

  1. 一种准循环低密度奇偶校验码的编码方法,包括:A coding method for a quasi-cyclic low-density parity check code, comprising:
    确定扩展因子z,以及基础校验矩阵Hb;Determining the expansion factor z, and the basic check matrix Hb;
    利用确定的所述z和所述Hb对待编码比特序列I进行低密度奇偶校验码LDPC编码;Performing low density parity check code LDPC encoding using the determined z and the Hb to be coded bit sequence I;
    其中,所述Hb包括对应于系统比特的mb行kb2列的块A和对应于校验比特的mb行mb列的块B,kb2=nb-mb,kb2是大于或等于4的整数,mb、nb均是整数。Wherein, the Hb includes a block A corresponding to a mb row kb2 column of a systematic bit and a block B corresponding to a mb row mb column of a parity bit, kb2=nb-mb, kb2 is an integer greater than or equal to 4, mb, Nb is an integer.
  2. 根据权利要求1所述的方法,其中,利用确定的所述z和所述Hb对所述I进行所述LDPC编码包括:The method of claim 1 wherein said LDPC encoding said I with said determined z and said Hb comprises:
    通过以下方式对所述Hb中的非负元素s进行修正:对于预先设定的阈值a,当z≥a时,采用第一函数f1对所述Hb中的所述s进行修正;当0<z<a时,采用第二函数f2对所述Hb中的所述s进行修正;其中,f1和f2均至少是所述s,所述z和所述a的函数,当z≥a时,修正后的非负元素s’=f1(s,z,a);当0<z<a时,修正后的非负元素s’=f2(s,z,a)。Correcting the non-negative element s in the Hb by: for a predetermined threshold a, when z≥a, correcting the s in the Hb by using the first function f1; When z<a, the s in the Hb is corrected by using a second function f2; wherein, both f1 and f2 are at least the s, the function of the z and the a, when z≥a, The corrected non-negative element s'=f1(s,z,a); when 0<z<a, the corrected non-negative element s'=f2(s,z,a).
  3. 根据权利要求2所述的方法,其中,所述f 1至少是最大扩展因子z max,所述s,所述z和所述a的函数,当z≥a时,修正后的非负元素s’=f 1(s,z,z max,a)。 The method according to claim 2, wherein said f 1 is at least a maximum spreading factor z max , said s, said z and a function of said a, when z ≥ a, the corrected non-negative element s '=f 1 (s,z,z max ,a).
  4. 根据权利要求3所述的方法,其中,所述s包括用二进制表示为一串长度为n的比特流[s0s1s2……sn-1],其中,s0是最高位,sn-1是最低位,所述f 1表示截取所述比特流的前r 1位,f 1(s,z,z max,a)=[s 0s 1s 2……s r1-1],其中,所述r 1是一个整数,并且r 1=n-j-t 1,其中t 1是整数,并且2 t1≤z max/z<2 t1+-1The method according to claim 3, wherein said s comprises binary representation of a string of bit streams of length n [s0s1s2...sn-1], wherein s0 is the highest bit and sn-1 is the lowest bit. Said f 1 denotes the first r 1 bit of the bit stream, f 1 (s, z, z max , a)=[s 0 s 1 s 2 ... s r1-1 ], wherein the r 1 Is an integer, and r 1 =njt 1 , where t 1 is an integer and 2 t1 ≤z max /z<2 t1+-1 .
  5. 根据权利要求2所述的方法,其中,所述s包括用二进制表示为一串长度为n的比特流[s 0s 1s 2……s n-1],其中,s 0是最高位,s n-1是最低位,所述f 2表示截取所述比特流的最后j位中的前r 2位,f 2(s,z,a)=[s n-j-1s n-js n-j+1……s n-j+r2-2],所述r 2是一个整数,并且r 2=j-t 2,其中t 2是整数,并且2 t2≤a/z<2 t2+1The method according to claim 2, wherein said s comprises binary representation of a string of bit streams of length n [s 0 s 1 s 2 ... s n-1 ], wherein s 0 is the highest bit, s n-1 is the lowest bit, and f 2 represents the first r 2 bits in the last j bits of the bit stream, f 2 (s, z, a) = [s nj-1 s nj s n-j +1 s s n-j+r2-2 ], the r 2 is an integer, and r 2 =jt 2 , where t 2 is an integer, and 2 t2 ≤ a/z<2 t2+1 .
  6. 根据权利要求2所述的方法,其中,所述第一函数f 1表示为: The method of claim 2 wherein said first function f 1 is expressed as:
    Figure PCTCN2017118105-appb-100001
    其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
    Figure PCTCN2017118105-appb-100001
    Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  7. 根据权利要求3所述的方法,其中,所述第一函数f 1表示为: The method of claim 3 wherein said first function f 1 is expressed as:
    Figure PCTCN2017118105-appb-100002
    其中,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
    Figure PCTCN2017118105-appb-100002
    Among them, [·] means taking integer operations, including rounding up, rounding down, or rounding rounding.
  8. 根据权利要求2所述的方法,其中,所述第二函数f 2表示为: The method of claim 2 wherein said second function f 2 is expressed as:
    Figure PCTCN2017118105-appb-100003
    其中,mod(x,y)表示x对y求余数运算,[·]表示取整数运算,包括向上取整,向下取整,或者舍入取整。
    Figure PCTCN2017118105-appb-100003
    Where mod(x, y) represents x to y for remainder operations, and [·] means takes integer operations, including rounding up, rounding down, or rounding rounding.
  9. 根据权利要求1所述的方法,其中:The method of claim 1 wherein:
    所述基础矩阵Hb的模板矩阵HBG与第一模板矩阵H1BG相同:The template matrix HBG of the basic matrix Hb is the same as the first template matrix H1BG:
    所述第一模板矩阵包括t个子矩阵,即
    Figure PCTCN2017118105-appb-100004
    其中,H1BGsub1,H1BGsub2,…,H1BGsubt分别为所述第一模板矩阵的第1,第2,…,第t子矩阵;所述每个子矩阵HBGsubi都包含所述第一模板矩阵的连续多行,索引值小的子矩阵对应的行位于索引值大的子矩阵对应的行之上,其中第i个子矩阵的行的数目为R1subi,并且,0<R1subi≤R1BG,i=1,2,…,t,其中R1BG是所述第一模板矩阵H1BG的行数;其中,t是正整数,并且并且t=2,或3,或4,或5。
    The first template matrix includes t sub-matrices, ie
    Figure PCTCN2017118105-appb-100004
    Wherein, H1BGsub1, H1BGsub2, ..., H1BGsubt are respectively the first, second, ..., tth sub-matrices of the first template matrix; each of the sub-matrices HBGsubi comprises consecutive rows of the first template matrix, A row corresponding to a sub-matrix having a small index value is located above a row corresponding to a sub-matrix having a large index value, wherein the number of rows of the i-th sub-matrix is R1subi, and 0<R1subi≤R1BG,i=1,2,..., t, where R1BG is the number of rows of the first template matrix H1BG; wherein t is a positive integer, and and t=2, or 3, or 4, or 5.
  10. 根据权利要求9所述的方法,其中:The method of claim 9 wherein:
    存在1个第二模板矩阵,其中,所述第二模板矩阵与所述第一模板矩阵具有相同的行数和列数;并且,There is one second template matrix, wherein the second template matrix has the same number of rows and columns as the first template matrix; and
    所述第二模板矩阵H 2 BG包含t个子矩阵,即
    Figure PCTCN2017118105-appb-100005
    其中,H2BGsub1,H2BGsub2,…,H2BGsubt分别为所述第二模板矩阵的第1, 第2,…,第t子矩阵,所述每个子矩阵H2BGsubi都包含所述第二模板矩阵的连续多行,索引值小的子矩阵对应的行位于索引值大的子矩阵对应的行之上,其中第i个子矩阵的行数为R2subi,并且,1≤R2subi≤R2BG,i=1,2,…,t,其中R2BG是所述第二模板矩阵H2BGi的行数;其中,t是正整数,并且t=2,或3,或4,或5。
    The second template matrix H 2 BG includes t sub-matrices, ie
    Figure PCTCN2017118105-appb-100005
    Wherein, H2BGsub1, H2BGsub2, ..., H2BGsubt are respectively the first, second, ..., t-th sub-matrices of the second template matrix, and each of the sub-matrices H2BGsubi comprises consecutive rows of the second template matrix, A row corresponding to a sub-matrix having a small index value is located above a row corresponding to a sub-matrix having a large index value, wherein the number of rows of the i-th sub-matrix is R2subi, and 1≤R2subi≤R2BG,i=1,2,...,t Where R2BG is the number of rows of the second template matrix H2BGi; where t is a positive integer and t=2, or 3, or 4, or 5.
  11. 根据权利要求10所述的方法,其中,所述第二模板矩阵为如下模板矩阵:The method of claim 10 wherein said second template matrix is a template matrix as follows:
    Figure PCTCN2017118105-appb-100006
    Figure PCTCN2017118105-appb-100006
    其中,kb2=10;行索引的范围为第0行至第41行;列索引的范围为第0列至第51列。Where kb2=10; the range of the row index is the 0th row to the 41st row; the range of the column index is the 0th column to the 51st column.
  12. 根据权利要求10所述的方法,其中:The method of claim 10 wherein:
    所述第一模板矩阵与第二模板矩阵之间存在如下关系:The following relationship exists between the first template matrix and the second template matrix:
    所述第一模板矩阵的第1子矩阵H1BGsub1与所述第二模板矩阵的第1子矩阵H2BGsub1相同,其中,所述第一子矩阵是由前4行构成的子矩阵。The first sub-matrix H1BGsub1 of the first template matrix is identical to the first sub-matrix H2BGsub1 of the second template matrix, wherein the first sub-matrix is a sub-matrix composed of the first four rows.
  13. 根据权利要求10所述的方法,其中:The method of claim 10 wherein:
    所述第一模板矩阵的第j子矩阵H1BGsubj与调整后的所述第二模板矩阵的第j子矩阵H2’BGsubj相同;其中,j为正整数,并且j=2,或3….,或t。The jth submatrix H1BGsubj of the first template matrix is identical to the adjusted jth submatrix H2'BGsubj of the second template matrix; wherein j is a positive integer, and j=2, or 3.., or t.
  14. 根据权利要求13所述的方法,其中:The method of claim 13 wherein:
    所述调整后的第二模板矩阵的子矩阵H2’BGsubj中的a个“0”元素是调整之前的子矩阵H2BGsubj中的对应位置上的a个“1”元素;其中,a为正整数。The a plurality of "0" elements in the sub-matrix H2'BGsubj of the adjusted second template matrix are a "1" elements at corresponding positions in the sub-matrix H2BGsubj before adjustment; wherein a is a positive integer.
  15. 根据权利要求11或14所述的方法,其中:A method according to claim 11 or 14, wherein:
    所述调整后的第二模板矩阵的第j子矩阵H2’BGsubj中的a个0元素的位置组成的集合set_a’,是所述调整前的第二模板矩阵中13个1元素的位置(row_p,col_p)组成的集合set_a的一个子集;其中,所述13个1元素在调整前的第二模板矩阵中的位置集合set_a为:{(4,1)、(8,1)、(10,1)、(13,1)、(15,11)、(17,11)、(17,12)、(18,12)、(19,0)、(20,1)、(25,1)、(27,1)、(38,7)};其中,row_p和col_p表示第p个1元素在调整前的第二模板矩阵中的行索引和列索引,并且row_p和col_p都是非负整数,其中a=1,或2,或3,或4,…,或13。The set_a' of the positions of the a 0 elements in the jth submatrix H2'BGsubj of the adjusted second template matrix is the position of 13 1 elements in the second template matrix before the adjustment (row_p , col_p) a subset of the set set_a; wherein the position set set_a of the 13 1 elements in the second template matrix before adjustment is: {(4, 1), (8, 1), (10 , 1), (13, 1), (15, 11), (17, 11), (17, 12), (18, 12), (19, 0), (20, 1), (25, 1 ), (27,1), (38,7)}; where row_p and col_p represent row index and column index of the pth 1 element in the second template matrix before adjustment, and both row_p and col_p are non-negative integers , where a=1, or 2, or 3, or 4,..., or 13.
  16. 根据权利要求13所述的方法,其中:The method of claim 13 wherein:
    所述调整后的第二模板矩阵的子矩阵H2’BGsubj中的b个“1”元素是调整之前的子矩阵H2BGsubj中的对应位置上的b个“0”元素;其中,b为正整数。The b "1" elements in the sub-matrix H2'BGsubj of the adjusted second template matrix are b "0" elements at corresponding positions in the sub-matrix H2BGsubj before adjustment; wherein b is a positive integer.
  17. 根据权利要求16所述的方法,其中:The method of claim 16 wherein:
    所述调整后的第二模板矩阵的第j子矩阵H2’BGsubj中的b个1元素的位置组成的集合set_b’是所述调整前的第二模板矩阵中3个0元素的位置(row_q,col_q)组成的集合set_b的一个子集;其中,所述3个0元素在调整前的第二模板矩阵中的位置集合set_b为:{(25,0)、(21,0)、(38,6)};The set_b' of the positions of the b 1 elements in the jth submatrix H2'BGsubj of the adjusted second template matrix is the position of the 3 0 elements in the second template matrix before the adjustment (row_q, Col_q) is a subset of the set set_b; wherein the position set set_b of the three 0 elements in the second template matrix before adjustment is: {(25, 0), (21, 0), (38, 6)};
    其中,row_q和col_q表示所述0元素在调整前的第二模板矩阵中的行索引和列索引。其中b=1,或2,或3。Where row_q and col_q represent the row index and the column index of the 0 element in the second template matrix before the adjustment. Where b=1, or 2, or 3.
  18. 根据权利13所述的方法,其中:The method of claim 13 wherein:
    所述调整后的第二模板矩阵的第j子矩阵H2’BGsubi的前kb2+w列组成的矩阵中的g行是调整前的第j子矩阵H2BGsubi的前kb2+w列组成的矩阵中的g行重新排列后得到;其中,w和g都是非负整数,并且w=0,或1,或2,或3,…,或10;g=2,或3,或4…,或10。The g rows in the matrix consisting of the pre-kb2+w columns of the j-th sub-matrix H2'BGsubi of the adjusted second template matrix are in a matrix consisting of the pre-kb2+w columns of the j-th sub-matrix H2BGsubi before the adjustment The g rows are rearranged; wherein w and g are both non-negative integers, and w=0, or 1, or 2, or 3,..., or 10; g=2, or 3, or 4..., or 10.
  19. 根据权利要求18所述的方法,其中:The method of claim 18 wherein:
    所述调整后的第二模板矩阵的前14列组成的矩阵中的第31行是调整之前第二模板矩阵的第32行;所述调整后的第二模板矩阵的前14列组成的矩阵中的第32行是调整之前第二模板矩阵的第31行。The 31st row in the matrix consisting of the first 14 columns of the adjusted second template matrix is the 32nd row of the second template matrix before the adjustment; the matrix of the first 14 columns of the adjusted second template matrix is The 32rd line is the 31st line of the second template matrix before the adjustment.
  20. 根据权利18所述的方法,其中:The method of claim 18 wherein:
    所述调整后的第二模板矩阵的前14列组成的矩阵中的第33行是调整之前的第二模板矩阵的前14列组成的矩阵中的第34行;所述调整后的第二模板矩阵的前14列组成的矩阵中的第34行是调整之前的第二模板矩阵的前14列组成的矩阵中的第33行。The 33rd row in the matrix consisting of the first 14 columns of the adjusted second template matrix is the 34th row in the matrix consisting of the first 14 columns of the second template matrix before the adjustment; the adjusted second template The 34th line in the matrix consisting of the first 14 columns of the matrix is the 33rd line in the matrix consisting of the first 14 columns of the second template matrix before the adjustment.
  21. 一种准循环低密度奇偶校验码的编码装置,包括:A coding apparatus for a quasi-cyclic low-density parity check code, comprising:
    确定模块,配置为确定扩展因子z,以及基础校验矩阵Hb;Determining a module configured to determine an expansion factor z, and a base check matrix Hb;
    编码模块,配置为利用确定的所述z和所述Hb对待编码比特序列I进行低密度奇偶校验码LDPC编码;An encoding module, configured to perform low density parity check code LDPC encoding by using the determined z and the Hb to be coded bit sequence I;
    其中,所述Hb包括对应于系统比特的mb行kb2列的块A和对应于校验比特的mb行mb列的块B,kb2=nb-mb,kb2是大于或等于4的整数,mb、nb均是整数。Wherein, the Hb includes a block A corresponding to a mb row kb2 column of a systematic bit and a block B corresponding to a mb row mb column of a parity bit, kb2=nb-mb, kb2 is an integer greater than or equal to 4, mb, Nb is an integer.
  22. 根据权利要求21所述的装置,其中,所述编码模块包括:The apparatus of claim 21 wherein said encoding module comprises:
    修正单元,配置为通过以下方式对所述Hb中的非负元素s进行修正:对于预先设定的阈值a,当z≥a时,采用第一函数f 1对所述Hb中的所述s进行修正;当0<z<a时,采用第二函数f 2对所述Hb中的所述s进行修正;其中,f1和f2均至少是所述s,所述z和所述a的函 数,当z≥a时,修正后的非负元素s’=f1(s,z,a);当0<z<a时,修正后的非负元素s’=f2(s,z,a)。 A correction unit configured to perform the following by way of non-negative elements of the Hb s correction: For a predetermined threshold value a, when z≥a when using the function f s of said first pair of Hb. 1 Performing a correction; when 0 < z < a, correcting the s in the Hb by using a second function f 2 ; wherein both f1 and f2 are at least the s, the function of the z and the a When z≥a, the corrected non-negative element s'=f1(s,z,a); when 0<z<a, the corrected non-negative element s'=f2(s,z,a) .
  23. 一种存储介质,其中存储有计算机可执行指令,该计算机可执行指令配置执行所述权利要求1-20中任一项的准循环低密度奇偶校验码的编码方法。A storage medium storing computer executable instructions configured to perform the encoding method of the quasi-cyclic low density parity check code of any one of claims 1-20.
PCT/CN2017/118105 2017-01-09 2017-12-22 Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium WO2018126914A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201710014296 2017-01-09
CN201710014296.6 2017-01-09
CN201710449155.7 2017-06-14
CN201710449155.7A CN108288968A (en) 2017-01-09 2017-06-14 The coding method of quasi-cyclic low-density parity check codes and device

Publications (1)

Publication Number Publication Date
WO2018126914A1 true WO2018126914A1 (en) 2018-07-12

Family

ID=62789091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118105 WO2018126914A1 (en) 2017-01-09 2017-12-22 Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium

Country Status (1)

Country Link
WO (1) WO2018126914A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541698A (en) * 2020-04-22 2021-10-22 华为技术有限公司 Encoding and decoding method, device and equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005334A (en) * 2007-01-12 2007-07-25 中兴通讯股份有限公司 Method for forming mixed automatic request re-sending packet of low density parity check code
CN101459430A (en) * 2007-12-14 2009-06-17 中兴通讯股份有限公司 Encoding method low density generation matrix code
CN101534128A (en) * 2009-04-27 2009-09-16 东南大学 Method for constructing low-density parity check code check matrix
CN101567697A (en) * 2009-05-25 2009-10-28 普天信息技术研究院有限公司 Coder and method for coding rate-compatible low-density parity-check codes
CN102412842A (en) * 2010-09-25 2012-04-11 中兴通讯股份有限公司 Method and device for encoding low-density parity check code
CN104868925A (en) * 2014-02-21 2015-08-26 中兴通讯股份有限公司 Encoding method, decoding method, encoding device and decoding device of structured LDPC codes
CN107370490A (en) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 Coding, interpretation method and the device of structured LDPC

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005334A (en) * 2007-01-12 2007-07-25 中兴通讯股份有限公司 Method for forming mixed automatic request re-sending packet of low density parity check code
CN101459430A (en) * 2007-12-14 2009-06-17 中兴通讯股份有限公司 Encoding method low density generation matrix code
CN101534128A (en) * 2009-04-27 2009-09-16 东南大学 Method for constructing low-density parity check code check matrix
CN101567697A (en) * 2009-05-25 2009-10-28 普天信息技术研究院有限公司 Coder and method for coding rate-compatible low-density parity-check codes
CN102412842A (en) * 2010-09-25 2012-04-11 中兴通讯股份有限公司 Method and device for encoding low-density parity check code
CN104868925A (en) * 2014-02-21 2015-08-26 中兴通讯股份有限公司 Encoding method, decoding method, encoding device and decoding device of structured LDPC codes
CN107370490A (en) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 Coding, interpretation method and the device of structured LDPC

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541698A (en) * 2020-04-22 2021-10-22 华为技术有限公司 Encoding and decoding method, device and equipment
CN113541698B (en) * 2020-04-22 2022-07-12 华为技术有限公司 Encoding and decoding method, device and equipment

Similar Documents

Publication Publication Date Title
JP7152394B2 (en) Method and Apparatus for Encoding and Decoding LDPC Codes
US11095317B2 (en) Efficiently decodable QC-LDPC code
JP4602418B2 (en) Parity check matrix generation method, encoding method, decoding method, communication apparatus, encoder, and decoder
CN106685586B (en) Method and apparatus for generating low density parity check code for transmission in a channel
US9432052B2 (en) Puncture-aware low density parity check (LDPC) decoding
US7934146B2 (en) Method, apparatus and computer program product providing for data block encoding and decoding
WO2017194013A1 (en) Error correction coding method and device
KR20210032007A (en) Encoding method and decoding method and device for structured ldpc
CN108988869B (en) Method and device for determining check matrix and computer storage medium
KR102303379B1 (en) Design method and apparatus for quasi-cyclic low-density parity check
JPWO2008016117A1 (en) Parity check matrix generation method, encoding method, communication apparatus, communication system, and encoder
CN113612486B (en) Base matrix method, system and device for constructing PBRL LDPC code and storage medium
WO2015120719A1 (en) Information processing method and device
WO2021063217A1 (en) Decoding method and apparatus
JP4832447B2 (en) Decoding apparatus and method using channel code
JP5789014B2 (en) Encoding method, encoder, decoder
CN112204888A (en) QC-LDPC code with high-efficiency coding and good error code flat layer characteristic
WO2018126914A1 (en) Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium
WO2018084732A1 (en) Ldpc codes for incremental redundancy harq (ir-harq) schemes
WO2018149304A1 (en) Data processing method and device, data processing apparatus, and computer storage medium
WO2017214851A1 (en) Signal transfer method, transmitting terminal, and receiving terminal
WO2024103386A1 (en) Communication method based on ldpc code, and communication apparatus
JP2009177649A (en) Encoding method, encoder, and decoder

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: 17889619

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: 17889619

Country of ref document: EP

Kind code of ref document: A1