CN102315911B - A kind of low density parity check code encoding method and device - Google Patents
A kind of low density parity check code encoding method and device Download PDFInfo
- Publication number
- CN102315911B CN102315911B CN201110298047.7A CN201110298047A CN102315911B CN 102315911 B CN102315911 B CN 102315911B CN 201110298047 A CN201110298047 A CN 201110298047A CN 102315911 B CN102315911 B CN 102315911B
- Authority
- CN
- China
- Prior art keywords
- code
- length
- code block
- bits
- bit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000011218 segmentation Effects 0.000 claims abstract description 20
- 108010003272 Hyaluronate lyase Proteins 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 14
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000002360 preparation method Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000003892 spreading Methods 0.000 claims description 4
- 230000009897 systematic effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000004080 punching Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
The invention discloses a kind of low density parity check coding method and device, including:According to data available bit length N 'pfThe code block number N of the information sequence segmentation to needing to encode is determined with the information bit length under encoder bit rate RCW;According to the code block number NCWThe information sequence for needing to encode is split;Bit padding is carried out to the code block that segmentation is obtained;Code block after bit padding is encoded, the code block after coding is attached in order.The present invention considers resource situation when the information sequence to needing to encode determines that the code block of segmentation is digital, makes the message length of code block more reasonable, and the matching treatment in encoded later stage, makes filling or deleted bit evenly, improves systematic function.
Description
Technical Field
The present invention relates to the field of encoding and decoding technologies, and in particular, to a method and an apparatus for encoding a low density parity check code.
Background
At present, digital communication systems are commonly used communication systems. Fig. 1 is a block diagram of a conventional digital communication system, as shown in fig. 1, the digital communication system is composed of a transmitting end, a channel and a receiving end, wherein the transmitting end generally includes a source, a source encoder, a channel encoder and a modulator, the receiving end generally includes a demodulator, a channel decoder, a source decoder and a signal sink, a channel (or a storage medium) exists between the transmitting end and the receiving end, and a noise source exists in the channel.
In a digital communication system, a channel coding link comprises code block segmentation, coding and decoding, rate matching and the like, which are the most critical technologies of the whole digital communication physical layer and determine the effectiveness and reliability of the bottom transmission of the digital communication system.
The Low-Density Parity-Check Codes (LDPC) have excellent performance, can obtain the error resistance performance close to the Shannon limit under certain conditions, has lower error code level compared with Turbo Codes, and has high practicability under the condition of high speed due to the characteristic of parallelism.
Because the code length of LDPC can only be set at some specific values, and bits actually required to be encoded are often longer, see fig. 2, in a channel coding link, uncoded bits need to be divided into code blocks and processed to some extent, so that each code block can meet the requirement of the length of encoded information, and after encoding, certain processing needs to be performed to match the resource bearing.
In the prior art, when code blocks are segmented, generally, only the code blocks are uniformly divided as much as possible without considering the resource condition, and only the matching resources are subjected to certain processing after the coding, so that the filling or deleting bits are concentrated when the resources are matched at the later stage, and the number of the filled or deleted bits is large, thereby affecting the coding performance.
Disclosure of Invention
The invention provides a low-density parity check code coding method and device, which can avoid centralized filling or deleting of bits when resources are matched and improve coding performance.
To solve the above technical problem, a low density parity check coding method of the present invention includes:
according to available data bit length N'pfAnd determining the code for dividing the information sequence to be coded according to the information bit length at the coding code rate RNumber of blocks NCW;
According to the code block number NCWDividing the information sequence to be coded;
bit filling is carried out on the segmented code blocks;
and coding the code blocks after the bit filling, and connecting the coded code blocks in sequence.
Further, the length N 'according to available data bits'pfAnd the information bit length under the coding code rate R determines the code block number N for dividing the information sequence to be codedCWThe method comprises the following steps:
taking the information bit length under the coding code rate R as the maximum information bit length N under the coding code rate Rmeslen_max;
Get theWherein,indicating an upward integer.
Further, according to the code block number NCWThe information sequence to be coded is segmented, and the segmentation comprises the following steps:
determining an average basic information bit length Nmeslen,Wherein,represents a downward integer;
determining rem, rem being Npf-NCW*NmeslenWherein N ispfThe length of the information sequence to be coded;
will requireSplitting of a coded information sequence into NCWTaking the length of rem code blocks as Nmeslen+1, taking the rest NCWLength of rem code blocks is Nmeslen。
Further, the bit-filling the segmented code block includes:
determining information bit length N of code blockmeslen_cl;
Determining the number of filling bits of the segmented code block, wherein the number of the filling bits is the length N of the information bitsmeslen_clDifference values with respective lengths of the segmented code blocks;
and respectively carrying out bit filling on the code blocks according to the determined filling bit number of each code block.
Further, the information bit length N of the code block is determinedmeslen_clThe method comprises the following steps:
searching for preparation information length N 'larger than code block under the coding code rate R from corresponding information of spreading factor-code rate-code length-information bit length'meslenIs used as the information bit length N of the code blockmeslen_clWherein the preparation information length of the code block
Further, still include:
determining the information bit length N of the code blockmeslen_clThen, inquiring the information bit length Nmeslen_clCorresponding spreading factor zf and code length LLDPC。
Further, the encoding the bit-padded code block includes:
according to the information bit length Nmeslen_clCorresponding spreading factor zf and code length LLDPCDetermining a coding matrix, using the determined codingAnd the matrix carries out low-density parity check coding on the code blocks after the bit filling.
Further, the method further includes, after encoding the bit-padded code blocks, performing puncturing or repetition processing on the encoded code blocks before connecting the encoded code blocks in sequence, including:
calculating the total length N of quasi-transmitted bitsbitrpt=NCW*LLDPC-NpaddingWhereinNpadding,ithe number of padding bits for the ith code block obtained by segmentation is set;
calculating the length N of the code bit which can be carried by each framebitpf;
Calculating the total length N of quasi-transmitted bitsbitrptThe length N of code bit which can be carried by each framebitpfDifference N ═ Nbitrpt-Nbitpf;
When N is more than 0, taking the total bit number N of the punchpuncN according to NpuncDetermining the number of bits deleted from each coded code block, and executing bit deletion operation;
when N is less than 0, taking the total number of repeated bits NrepAccording to N |, byrepThe number of bits to be padded for each coded code block is determined, and the padding operation is performed.
Further, said is according to NpuncDetermining the number of bits to delete for each coded code block, and performing bit deletion operation includes: determining the number of parity bits for an average erasureDetermining remp=Npunc-Npuncpcw*NCWFor rem in the coded code blockpLast N of code block erasure check bitspuncpcw+1 bits, puncturing the rest of the code blocksLast N except the check bitspuncpcwA bit;
said according to NrepDetermining the number of bits to be padded into each coded code block, and performing padding operation comprises: determining the number of parity bits for an average repetitionDetermining remr=Nrep-Nreppcw*NCWRem in coded code blocksrEnd of code block repetition padding Nreppcw+1 bits, with N being repeatedly padded at the end of the code block for the remaining code blocksreppcwAnd (4) a bit.
Further, in the corresponding information of the spreading factor, the code rate, the code length and the information bit length, the minimum information bit length is N under different code ratesinflAnd N isinflThe corresponding spreading factor and code length are zfminAnd LLDPC,min(ii) a Greater than NinflEach level of information bit length of 2nNinflAnd 2nNinflThe corresponding spreading factor and code length are 2nzf respectivelyminAnd 2nLLDPC,minWherein n is a natural number.
Further, when the code rate is 1/2, the minimum information bit length Ninfl128, corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 256, respectively;
at code rate of 2/3, minimum information bit length Ninfl256, corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 384, respectively;
at code rate of 3/4, minimum information bit length NinflAt 384, the corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 512, respectively;
at code rate of 5/6, minimum information bit length NinflAt 640, the corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 768, respectively;
at code rate of 7/8, minimum information bit length Ninfl896, the corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 1024 respectively.
Further, a low density parity check encoding apparatus includes: code block number determination unit, code block segmentation unit, code block padding unit, coding unit and code block connection unit, wherein:
the code block number determination unit is used for determining the code block number according to the available data bit length N'pfAnd the information bit length under the coding code rate R determines the code block number N for dividing the information sequence to be codedCW;
The code block segmentation unit is used for dividing the code block into N code blocks according to the number of the code blocksCWDividing the information sequence to be coded;
the code block filling unit is used for carrying out bit filling on the segmented code blocks;
the encoding unit is used for encoding the code block after the bit filling;
and the code block connecting unit is used for connecting the coded code blocks in sequence.
Further, the code block number determining unit is specifically configured to take the information bit length at the coding rate R as the maximum information bit length N at the coding rate Rmeslen_maxGet theWherein,indicating an upward integer.
Further, the code block segmentation unit is specifically configured to determine an average basic information bit length Nmeslen,Wherein,represents a downward integer; determining rem, rem being Npf-NCW*NmeslenWherein N ispfThe length of the information sequence to be coded; dividing the information sequence to be coded into NCWTaking the length of rem code blocks as Nmeslen+1, taking the rest NCWLength of rem code blocks is Nmeslen。
Further, the device also comprises a punching and repeating processing unit, wherein:
the puncturing and repeating unit is configured to puncture or repeat the encoded code block, and includes: calculating the total length N of quasi-transmitted bitsbitrptAnd the length N of the code bit which can be carried by each framebitpf(ii) a Calculating the total length N of quasi-transmitted bitsbitrptThe length N of code bit which can be carried by each framebitpfDifference N ═ Nbitrpt-Nbitpf(ii) a When N is more than 0, taking the total bit number N of the punchpuncN according to NpuncDetermining the number of bits deleted from each coded code block, and executing bit deletion operation; when N is less than 0, taking the total number of repeated bits NrepAccording to N |, byrepThe number of bits to be padded for each coded code block is determined, and the padding operation is performed.
Further, the puncturing and repetition processing unit is according to NpuncDetermining the number of bits to be deleted for each coded code block, and performing bit deletion operation, in particular determining the number of parity bits to be deleted on averageDetermining remp=Npunc-Npuncpcw*NCWFor rem in the coded code blockpLast N of code block erasure check bitspuncpcw+1 piecesBits, last N of the erasure check bits for the remaining code blockspuncpcwA bit;
the puncturing and repetition processing unit is according to NrepDetermining the number of bits to be padded into each coded code block, and performing padding operation specifically to determine the number of parity bits for average repetitionDetermining remr=Nrep-Nreppcw*NCWRem in coded code blocksrEnd of code block repetition padding Nreppcw+1 bits, with N being repeatedly padded at the end of the code block for the remaining code blocksreppcwAnd (4) a bit.
In summary, the present invention considers the resource situation when determining the code of the segmented code block for the information sequence to be encoded, so as to make the information length of the code block more reasonable, and through the matching processing at the later stage of encoding, the filling or deleting bits are more uniform, and the system performance is improved.
Drawings
FIG. 1 is a diagram of a typical digital communication system of the prior art;
FIG. 2 is a diagram illustrating a prior art process of channel coding a link and modulating data;
FIG. 3 is a flow chart of a low density parity check coding method according to an embodiment of the present invention;
fig. 4 is an architecture diagram of a low density parity check coding apparatus according to an embodiment of the present invention.
Detailed Description
In this embodiment, the length of the information sequence to be encoded is NpfThe uncoded data bit length that each frame can carry is called available data bit length N'pfThe coding rate R is known.
As shown in fig. 3, the low density parity check coding method according to this embodiment includes:
step 301: determining the number N of code blocks segmented for an information sequence to be encodedCW;
The number of segmented code blocks may be according to an available data bit length of N'pfAnd determining the length of the information bit at the coding code rate R. For a determined number N of segmented code blocksCWMore reasonable, can take the maximum information bit length N under the coding code rate Rmeslen_maxDetermining the number N of segmented code blocksCW。Nmeslen_maxThe maximum information bit length in the information bit lengths corresponding to the coding rate R is the information bit length required when the maximum expansion factor at the coding rate R is used for coding.
The number of segmented code blocks is of usable data bit length N'pfAnd a maximum information bit length Nmeslen_maxThe ratio of (A) is an integer upwards, namely:wherein,indicating that an integer is taken up for x.
Step 302: determining the information bit length, the spreading factor and the code length of the code block;
the information bit length, the spreading factor, and the code length of the code block may be according to the available data bit length N'pfAnd the number N of segmented code blocksCWAnd (4) determining.
In particular, the information bit length Nmeslen_clThe preparation information length N 'larger than the code block at the coding code rate R can be searched in the table 1'meslenIs the minimum value of the information bit lengths of (1), which is the information bit length N of the code blockmeslen_cl. All in oneThen, the information bit length N can be obtainedmeslen_clCorresponding spreading factor zf and code length LLDPC。
Preparation information length N 'of the code block'meslenIs a usable data bit length of N'pfAnd the number N of segmented code blocksCWThe ratio of (A) is an integer upwards, namely:
the determination of the information bit length, the spreading factor and the code length of the code block may also be performed after the code block segmentation of the information sequence to be encoded, and then the number of padding bits of each code block is determined.
In the corresponding information of the spreading factor, code rate, code length, and information bit length of the present embodiment, the minimum information bit length is N at different code ratesinflAnd N isinflThe corresponding spreading factor and code length are zfminAnd LLDPC,min(ii) a Greater than NinflEach level of information bit length of 2nNinflAnd 2nNinflThe corresponding spreading factor and code length are 2nzf respectivelyminAnd 2nLLDPC,minWherein n is a natural number. Table 1 below records some of the spreading factor-code rate-code length-information bit length correspondence information in this embodiment.
TABLE 1
Step 303: carrying out code block segmentation on the information sequence to be coded according to the number of segmented code blocks;
the code block segmentation of the information sequence to be encoded includes:
3031: determining an average basic information bit length Nmeslen,NmeslenFor the length N of the information sequence to be codedpfAnd the number N of code blocksCWThe ratio of (a) to (b) is an integer,
3032: determining rem, rem being Npf-NCW*Nmeslen;
3033: dividing the information sequence to be coded, and taking the length of rem code blocks as Nmeslen+1, the remainder NCWLength of rem code blocks is Nmeslen。
The length of the first rem code blocks can be taken as Nmeslen+1。
Step 304: determining the filling bit number of each code block, and filling the bits of the code blocks according to the determined filling bit number of each code block to ensure that the length of each code block reaches the information bit length Nmeslen_cl;
The number of filling bits of each code block is the information bit length Nmeslen_clDetermining the number N of bits needed to be filled in the ith code block according to the difference value of the respective lengths of the code blockspadding,iComprises the following steps:
filling all 0 bits in the front of each code block according to the determined filling bit number of each code block to ensure that the length of each code block reaches the information bit length Nmeslen_cl. Total number of padding bits is
Step 305: respectively coding each code block according to the coding rate and the information bit length of the code block;
after filling bits into each code block, the obtained length is Nmeslen_clThe code block is sent to an LDPC coding module for coding, and a coding matrix consists of a coding rate R and an information bit length Nmeslen_clCorresponding spreading factor zf and code length LLDPCThus obtaining the product.
Step 306: the coded code block is subjected to punching or repeated treatment;
the front of the code block is information bits after coding, the back of the code block is check bits, the puncturing means deleting part of check bits after the code block after coding, and the repetition means adding some bit resetting after the check bits after coding.
If the total coded bits after coding do not match the length of the coded bits that can be carried by the resource after removing the number of bits of the total filling part before coding, further processing for deleting the check bits or repeating the information bits is needed.
The bits filled before coding need to be deleted after coding, so that the total length N of the bits to be transmittedbitrptIs NCW*LLDPC-NpaddingLength of coded bits N that each frame can carrybitpfThe product of the number of data symbols carried by each frame and the number of coded bits carried by each data symbol, i.e. the length N of coded bits that can be carried by each framebitpfIs Nsympss*NcbpsymCalculating the difference between the two to obtain the total number of punctured or repeated bits NpuncOr NrepTaking N as NCW*LLDPC-Npadding-Nsympss*NcbpsymAnd the difference value between the total coded bits except the total filling bits before coding and the number of coded bits which can be carried by the resource is shown.
If N is present>0, then take NpuncN, N being deleted altogetherpuncOne check bit to match the resource bearer. The number of check bits to be deleted in each code block is as uniform as possible.
remp=Npunc-Npuncpcw*NCW
Front rempCheck bit deletion last N of code blockspuncpcw+1 bits, check bits of the rest of the code blocks delete the last NpuncpcwOne bit, namely:
if N is present<0, then take NrepN is to be filled in totalrepAnd (4) a bit. The number of repeated information bits to be filled in each coding block after the check bit is also as uniform as possible.
remr=Nrep-Nreppcw*NCW
Front remrRepeated padding of the preceding N after the check bits of a code blockreppcw+1 information bits (I)0,I1…,Ireppcw) Check bits of the remaining code blocks repeatedly fill the preceding NreppcwAn information bit (I)0,I1…,Ireppcw-1) I.e. by
Step 307: the processed code blocks are concatenated in order.
Application example 1:
assuming that there are 544 OFDM data symbols per frame, the number of coded bits carried per symbol is 600 bits (both the number of symbols and the number of bits carried per symbol refer to the pure data portion, excluding the pure data portion) depending on the resourcePreamble, control signaling, pilot, etc.), the data transmitted from the upper layer is Npf174300 bits, the coding rate is 2/3, the available data bit length N'pf=Nsympf*Ncbpsym*R=544*600*2/3=217600。
According to the above hypothetical definition, the present embodiment comprises the following steps:
1, number of segmented code blocks
2, determining the information bit length N of the code blockmeslen_cl;
Preparation information length is N'meslen:
Minimum code rate of 2/3 in table is greater than N'meslenInformation bit length N ofmeslen_cl4096. And the same
Spreading factor zf corresponding to information bit length is 512, and code length LLDPC6144. 3, determining the average basic information bit length N of the code blockmeslen;
rem=Npf-NCW*Nmeslen=174300-54*3227=42
The first 42 code blocks have a length of Nmeslen+ 1-3227 + 1-3228, and the last 12 code blocks have a length Nmeslen3227. The number of zero bits to be padded per code block is:
the number of bits per code block padding:
total number of padding bits is
The module is partitioned and bits are padded as described above.
4, sending the code block into an encoder for encoding;
and 5, deleting the zero bits filled before coding after coding, and calculating whether the total bit number is matched with the resources:
N=NCW*LLDPC-Npadding-Nsympss*Ncbpsym=54*6144-46884-326400
=-41508
N<0, then N needs to be filled in totalrep41508 bits. The number of repeated information bits to be filled after the check bits in each code block is as uniform as possible.
remr=Nrep-Nreppcw*NCW=41508-768*54=36
Repeated padding of the preceding N after the check bits of the first 36 code blocksreppcw769 information bits, and the check bits of the last 18 code blocks are then repeated to fill the previous N bitsreppcw768 information bits.
And 6, connecting the processed coded code blocks in sequence.
Application example 2:
assuming that each frame has 120 OFDM data symbols according to resources, the number of coded bits carried by each symbol is 150 bits (the number of symbols and the number of bits carried by each symbol refer to a pure data portion excluding preamble, control signaling, pilot, etc.), and the data transmitted from the upper layer is Npf10000 bits, 5/6 coding rate, N 'is available data bit length'pf=Nsympf*Ncbpsym*R=120*150*5/6=15000。
According to the above hypothetical definition, the present embodiment comprises the following steps:
1, number of segmented code blocks
2, determining the information bit length N of the code blockmeslen_cl;
Preparation information length is N'meslen:
Minimum code rate of 5/6 in table is greater than N'meslenInformation bit length N ofmeslen_clIs 7680. The spreading factor zf corresponding to the information bit length is 384, and the code length L isLDPC=9216。
3, determining the average basic information bit length N of the code blockmeslen:
rem=Npf-NCW*Nmeslen=0
Average basic information bit length of code block is Nmeslen5000 bits, the number of zero bits to be padded per code block is:
the number of filling bits per code block is: 7680 Bisa 5000 ═ 2680
Total number of padding bits is
The module is partitioned and bits are padded as described above.
And 4, sending the code block to an encoder for encoding.
And 5, deleting the zero bits filled before coding after coding, and calculating whether the total bit number is matched with the resources:
N=NCW*LLDPC-Npadding-Nsympss*Ncbpsym=2*9216-5360-120*150=-4928
N<0, then N needs to be filled in totalrep4928 bits. The number of repeated information bits to be filled after the check bits in each code block is as uniform as possible.
remr=Nrep-Nreppcw*NCW=0
Each code block repeatedly fills the first 2464 information bits after the check bits.
And 6, connecting the processed code words of the encoders in sequence.
Fig. 4 shows a low density parity check coding apparatus according to this embodiment, including: code block number determination unit, code block segmentation unit, code block padding unit, coding unit and code block connection unit, wherein:
a code block number determination unit for determining the number of code blocks according to the available data bit length N'pfAnd the information bit length under the coding code rate R determines the code block number N for dividing the information sequence to be codedCW;
The code block number determining unit is specifically configured to take the information bit length at the coding rate R as the maximum information bit length N at the coding rate Rmeslen_maxGet itWherein,indicating an upward integer.
A code block segmentation unit for dividing the code block into N code blocksCWDividing an information sequence to be coded;
the code block segmentation unit is specifically adapted to determine an average basic information bit length Nmeslen,Wherein,represents a downward integer; determining rem, rem being Npf-NCW*NmeslenWherein N ispfThe length of the information sequence to be coded; dividing the information sequence to be coded into NCWTaking the length of rem code blocks as Nmeslen+1, taking the rest NCWLength of rem code blocks is Nmeslen。
A code block padding unit for bit-padding the segmented code block;
a coding unit for coding the bit-padded code block;
and the code block connecting unit is used for connecting the coded code blocks in sequence.
The device also comprises a punching and repeating processing unit which is used for punching or repeating the coded code block and comprises: calculating the total length N of quasi-transmitted bitsbitrptAnd the length N of the code bit which can be carried by each framebitpf(ii) a Calculating the total length N of quasi-transmitted bitsbitrptThe length N of code bit which can be carried by each framebitpfDifference N ═ Nbitrpt-Nbitpf(ii) a When N is more than 0, taking the total bit number N of the punchpuncN according to NpuncDetermining the number of bits deleted from each coded code block, and executing bit deletion operation; when N is less than 0, taking the total number of repeated bits NrepAccording to N |, byrepThe number of bits to be padded for each coded code block is determined, and the padding operation is performed.
The puncturing and repetition processing unit is based on NpuncDetermining the number of bits to be deleted for each coded code block, and performing bit deletion operation, in particular determining the number of parity bits to be deleted on averageDetermining remp=Npunc-Npuncpcw*NCWFor rem in the coded code blockpLast N of code block erasure check bitspuncpcw+1 bits, last N of erasure check bits for the rest of the code blockpuncpcwA bit;
the puncturing and repetition processing unit is based on NrepDetermining the number of bits to be padded into each coded code block, and performing padding operation specifically to determine the number of parity bits for average repetitionDetermining remr=Nrep-Nreppcw*NCWRem in coded code blocksrEnd of code block repetition padding Nreppcw+1 bits, with N being repeatedly padded at the end of the code block for the remaining code blocksreppcwAnd (4) a bit.
It will be understood by those skilled in the art that all or part of the steps of the above methods may be implemented by instructing the relevant hardware through a program, and the program may be stored in a computer readable storage medium, such as a read-only memory, a magnetic or optical disk, and the like. Alternatively, all or part of the steps of the foregoing embodiments may also be implemented by using one or more integrated circuits, and accordingly, each module/unit in the foregoing embodiments may be implemented in the form of hardware, and may also be implemented in the form of a software functional module. The present invention is not limited to any specific form of combination of hardware and software.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (14)
1. A low density parity check coding method, comprising:
according to available data bit length N'pfAnd the information bit length under the coding code rate R determines the code block number N for dividing the information sequence to be codedCW;
According to the code block number NCWDividing the information sequence to be coded;
bit filling is carried out on the segmented code blocks;
coding the code blocks after bit filling, and connecting the coded code blocks in sequence;
according to the code block number NCWThe information sequence to be coded is segmented, and the segmentation comprises the following steps:
determining an average basic information bit length Nmeslen,Wherein,represents a downward integer;
determining rem, rem being Npf-NCW*NmeslenWherein N ispfThe length of the information sequence to be coded;
dividing the information sequence to be coded into NCWTaking the length of rem code blocks as Nmeslen+1, taking the rest NCWLength of rem code blocks is Nmeslen。
2. The method of claim 1, wherein the function is according to a usable data bit length of N'pfAnd the information bit length under the coding code rate R determines the code block number N for dividing the information sequence to be codedCWThe method comprises the following steps:
taking the information bit length under the coding code rate R as the maximum information bit length N under the coding code rate Rmeslen_max;
Get theWherein,indicating an upward integer.
3. The method of claim 1 or 2, wherein the bit-filling the segmented code blocks comprises:
determining information bit length N of code blockmeslen_cl;
Determining the number of filling bits of the segmented code block, wherein the number of the filling bits is the length N of the information bitsmeslen_clDifference values with respective lengths of the segmented code blocks;
and respectively carrying out bit filling on the code blocks according to the determined filling bit number of each code block.
4. The method of claim 3, wherein the determining information bit length N of code blocksmeslen_clThe method comprises the following steps:
searching for preparation information length N 'larger than code block under the coding code rate R from corresponding information of spreading factor-code rate-code length-information bit length'meslenIs used as the information bit length N of the code blockmeslen_clWherein the preparation information length of the code block
5. The method of claim 4, further comprising:
determining the information bit length N of the code blockmeslen_clThen, inquiring the information bit length Nmeslen_clCorresponding spreading factor zf and code length LLDPC。
6. The method of claim 5, wherein the encoding the bit-filled code block comprises:
according to the information bit length Nmeslen_clCorresponding spreading factor zf and code length LLDPCAnd determining a coding matrix, and performing low-density parity check coding on the code block subjected to bit filling by adopting the determined coding matrix.
7. The method of claim 5, further comprising puncturing or repeating the encoded code blocks after the encoding the bit-padded code blocks and before concatenating the encoded code blocks in order, comprising:
calculating the total length N of quasi-transmitted bitsbitrpt=NCW*LLDPC-NpaddingWhereinNpadding,ithe number of padding bits for the ith code block obtained by segmentation is set;
calculating the length N of the code bit which can be carried by each framebitpf;
Calculating the total length N of quasi-transmitted bitsbitrptThe length N of code bit which can be carried by each framebitpfDifference N ═ Nbitrpt-Nbitpf;
When N is more than 0, taking the total bit number N of the punchpuncN according to NpuncDetermining the number of bits deleted from each coded code block, and executing bit deletion operation;
when N is less than 0, taking the total number of repeated bits NrepAccording to N |, byrepThe number of bits to be padded for each coded code block is determined, and the padding operation is performed.
8. The method of claim 7, wherein:
said according to NpuncDetermining the number of bits to delete for each coded code block, and performing bit deletion operation includes: determining the number of parity bits for an average erasureDetermining remp=Npunc-Npuncpcw*NCWFor rem in the coded code blockpLast N of code block erasure check bitspuncpcw+1 bits, last N of erasure check bits for the rest of the code blockpuncpcwA bit;
said according to NrepDetermining the number of bits to be padded into each coded code block, and performing padding operation comprises: determining the number of parity bits for an average repetitionDetermining remr=Nrep-Nreppcw*NCWRem in coded code blocksrEnd of code block repetition padding Nreppcw+1 bits, with N being repeatedly padded at the end of the code block for the remaining code blocksreppcwAnd (4) a bit.
9. The method of claim 4, wherein:
in the corresponding information of the expansion factor, the code rate, the code length and the information bit length, the minimum information bit length is N under different code ratesinflAnd N isinflThe corresponding spreading factor and code length are zfminAnd LLDPC,min(ii) a Greater than NinflEach level of information bit length of 2nNinflAnd 2nNinflThe corresponding spreading factor and code length are 2nzf respectivelyminAnd 2nLLDPC,minWherein n is a natural number.
10. The method of claim 9, wherein:
at code rate of 1/2, minimum information bit length Ninfl128, corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 256, respectively;
at code rate of 2/3, minimum information bit length Ninfl256, corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 384, respectively;
at code rate of 3/4, minimum information bit length NinflAt 384, the corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 512, respectively;
at code rate of 5/6, minimum information bit length Ninfl640, corresponding minimum spreading factorChild zfminAnd a minimum code length LLDPC,min32 and 768, respectively;
at code rate of 7/8, minimum information bit length Ninfl896, the corresponding minimum spreading factor zfminAnd a minimum code length LLDPC,min32 and 1024 respectively.
11. A low density parity check encoding apparatus, comprising: code block number determination unit, code block segmentation unit, code block padding unit, coding unit and code block connection unit, wherein:
the code block number determination unit is used for determining the code block number according to the available data bit length N'pfAnd the information bit length under the coding code rate R determines the code block number N for dividing the information sequence to be codedCW;
The code block segmentation unit is used for dividing the code block into N code blocks according to the number of the code blocksCWDividing the information sequence to be coded;
the code block filling unit is used for carrying out bit filling on the segmented code blocks;
the encoding unit is used for encoding the code block after the bit filling;
the code block connecting unit is used for connecting the coded code blocks in sequence;
the code block segmentation unit is specifically configured to determine an average basic information bit length Nmeslen,Wherein,represents a downward integer; determining rem, rem being Npf-NCW*NmeslenWherein N ispfThe length of the information sequence to be coded; dividing the information sequence to be coded into NCWTaking the length of rem code blocks as Nmeslen+1, taking the rest NCWLength of rem code blocks is Nmeslen。
12. The apparatus of claim 11, wherein:
the code block number determining unit is specifically configured to take the information bit length at the coding rate R as the maximum information bit length N at the coding rate Rmeslen_maxGet theWherein,indicating an upward integer.
13. The apparatus of claim 11, further comprising a puncture and repeat processing unit, wherein:
the puncturing and repeating unit is configured to puncture or repeat the encoded code block, and includes: calculating the total length N of quasi-transmitted bitsbitrptAnd the length N of the code bit which can be carried by each framebitpf(ii) a Calculating the total length N of quasi-transmitted bitsbitrptThe length N of code bit which can be carried by each framebitpfDifference N ═ Nbitrpt-Nbitpf(ii) a When N is more than 0, taking the total bit number N of the punchpuncN according to NpuncDetermining the number of bits deleted from each coded code block, and executing bit deletion operation; when N is less than 0, taking the total number of repeated bits NrepAccording to N |, byrepThe number of bits to be padded for each coded code block is determined, and the padding operation is performed.
14. The apparatus of claim 13, wherein:
the puncturing and repetition processing unit is according to NpuncDetermining the number of bits to be deleted for each coded code block, and performing bit deletion operation, in particular determining the number of parity bits to be deleted on averageDetermining remp=Npunc-Npuncpcw*NCWFor rem in the coded code blockpLast N of code block erasure check bitspuncpcw+1 bits, last N of erasure check bits for the rest of the code blockpuncpcwA bit;
the puncturing and repetition processing unit is according to NrepDetermining the number of bits to be padded into each coded code block, and performing padding operation specifically to determine the number of parity bits for average repetitionDetermining remr=Nrep-Nreppcw*NCWRem in coded code blocksrEnd of code block repetition padding Nreppcw+1 bits, with N being repeatedly padded at the end of the code block for the remaining code blocksreppcwAnd (4) a bit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110298047.7A CN102315911B (en) | 2011-09-29 | 2011-09-29 | A kind of low density parity check code encoding method and device |
PCT/CN2012/072936 WO2012155683A1 (en) | 2011-09-29 | 2012-03-23 | Low-density parity check method and device as the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110298047.7A CN102315911B (en) | 2011-09-29 | 2011-09-29 | A kind of low density parity check code encoding method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102315911A CN102315911A (en) | 2012-01-11 |
CN102315911B true CN102315911B (en) | 2017-10-27 |
Family
ID=45428761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110298047.7A Active CN102315911B (en) | 2011-09-29 | 2011-09-29 | A kind of low density parity check code encoding method and device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102315911B (en) |
WO (1) | WO2012155683A1 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102315911B (en) * | 2011-09-29 | 2017-10-27 | 中兴通讯股份有限公司 | A kind of low density parity check code encoding method and device |
CN104143992B (en) * | 2014-07-23 | 2017-05-10 | 西安空间无线电技术研究所 | LDPC encoding method based on bit stuffing |
CN108631789B (en) * | 2016-10-25 | 2019-07-09 | 华为技术有限公司 | Coding, interpretation method and equipment |
US10608785B2 (en) * | 2017-01-19 | 2020-03-31 | Qualcomm Incorporated | Resource-based code block segmentation |
CN108631939B (en) * | 2017-03-24 | 2020-03-10 | 华为技术有限公司 | Method for dividing transmission block, wireless communication device and chip |
CN108631941B (en) * | 2017-03-24 | 2021-02-23 | 华为技术有限公司 | Communication method and device |
CN108631937B (en) * | 2017-03-24 | 2020-06-02 | 华为技术有限公司 | Information processing method, device and equipment |
EP4187794A1 (en) | 2017-06-15 | 2023-05-31 | Huawei Technologies Co., Ltd. | Qc-ldpc codes for 3gpp 5g mobile radio |
CN109067407B (en) * | 2017-06-15 | 2019-11-15 | 华为技术有限公司 | The method, apparatus and communication equipment of information processing |
CN109327225B9 (en) | 2017-06-27 | 2021-12-10 | 华为技术有限公司 | Information processing method and device and communication equipment |
CN109257141B (en) * | 2017-07-14 | 2021-02-12 | 电信科学技术研究院 | Code block segmentation method, terminal, base station and computer readable storage medium |
CN110266320B (en) * | 2019-07-01 | 2021-03-12 | 京信通信系统(中国)有限公司 | LDPC encoding and decoding method, device and encoding and decoding system |
CN114257251A (en) * | 2021-11-29 | 2022-03-29 | 北京中科晶上科技股份有限公司 | Encoding method, encoding device and encoder |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431396A (en) * | 2007-11-09 | 2009-05-13 | 松下电器产业株式会社 | Method for distributing filling bit in split code word |
CN101667884A (en) * | 2008-09-03 | 2010-03-10 | 中兴通讯股份有限公司 | Method and device for coding channel and method and device for decoding channel |
CN101867440A (en) * | 2009-04-15 | 2010-10-20 | 中兴通讯股份有限公司 | Preprocessing method for segmenting code blocks |
EP2323329A2 (en) * | 2008-11-06 | 2011-05-18 | LG Electronics Inc. | Apparatus and method for transmitting and receiving a signal |
CN102098125A (en) * | 2009-12-15 | 2011-06-15 | 上海贝尔股份有限公司 | Method and device for processing parallel baseband |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100713371B1 (en) * | 2004-08-10 | 2007-05-04 | 삼성전자주식회사 | Apparatus and method for encoding/decoding a block low density parity check code |
KR20090095432A (en) * | 2008-03-03 | 2009-09-09 | 삼성전자주식회사 | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes |
CN101577553B (en) * | 2009-05-31 | 2011-04-27 | 清华大学 | Method for coding low-density parity check code with low complexity |
CN102315911B (en) * | 2011-09-29 | 2017-10-27 | 中兴通讯股份有限公司 | A kind of low density parity check code encoding method and device |
-
2011
- 2011-09-29 CN CN201110298047.7A patent/CN102315911B/en active Active
-
2012
- 2012-03-23 WO PCT/CN2012/072936 patent/WO2012155683A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431396A (en) * | 2007-11-09 | 2009-05-13 | 松下电器产业株式会社 | Method for distributing filling bit in split code word |
CN101667884A (en) * | 2008-09-03 | 2010-03-10 | 中兴通讯股份有限公司 | Method and device for coding channel and method and device for decoding channel |
EP2323329A2 (en) * | 2008-11-06 | 2011-05-18 | LG Electronics Inc. | Apparatus and method for transmitting and receiving a signal |
CN101867440A (en) * | 2009-04-15 | 2010-10-20 | 中兴通讯股份有限公司 | Preprocessing method for segmenting code blocks |
CN102098125A (en) * | 2009-12-15 | 2011-06-15 | 上海贝尔股份有限公司 | Method and device for processing parallel baseband |
Non-Patent Citations (1)
Title |
---|
LTE系统中信道编码的研究及其实现;张罗成;《中国优秀硕士学位论文全文数据库(电子期刊)》;20110415;正文第1-80页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2012155683A1 (en) | 2012-11-22 |
CN102315911A (en) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102315911B (en) | A kind of low density parity check code encoding method and device | |
US11165537B2 (en) | Method for encoding information bit sequence in communication network | |
US11310000B2 (en) | Transport block segmentation for multi-level codes | |
KR101502623B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
CN107370560B (en) | Method, device and equipment for coding and rate matching of polarization code | |
US10050741B2 (en) | Method and apparatus for transmitting and receiving control information in a broadcasting/communication system | |
KR101503058B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR100984289B1 (en) | Signal transmitting/receiving apparatus for supporting variable coding rate in a communication system and method thereof | |
CN107342843A (en) | Speed matching method, code device and communicator | |
US8640009B2 (en) | Methods and apparatus for providing linear erasure codes | |
US10848185B2 (en) | Coding and decoding of polar codes extended to lengths which are not powers of two | |
KR102552391B1 (en) | Trnasmitter, receiver and signal processing method thereof | |
US20220140844A1 (en) | Data processing method and device | |
CN111670543A (en) | Multi-component coding for signal shaping | |
KR101503656B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
CN107508656A (en) | A kind of Spinal joint source-channel decoding methods on BEC channels | |
KR101413783B1 (en) | Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes | |
KR20090060106A (en) | Apparatus and method for encoding and decoding channel in communication system using low-density parity-check codes | |
CN115765761A (en) | Low-complexity LDPC (low density parity check) coding method, medium and device suitable for NR (noise-and-noise) standard | |
CN112398580A (en) | Modulation method and device | |
CN102624493B (en) | Receiver decoding method and device | |
KR101503654B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
Lin et al. | An effective error correction scheme for arithmetic coding | |
WO2024122088A1 (en) | Method, data transmitter and computer program for adapting a bicm scheme to amplitude shaping in combination with puncturing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201229 Address after: 224300 Lingang Industrial Zone, Sheyang County, Yancheng City, Jiangsu Province Patentee after: Sheyang port fishery industry and Trade Development Company of Sheyang County Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong Patentee before: ZTE Corp. |
|
TR01 | Transfer of patent right |