CN101217337B - A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat - Google Patents

A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat Download PDF

Info

Publication number
CN101217337B
CN101217337B CN 200710072808 CN200710072808A CN101217337B CN 101217337 B CN101217337 B CN 101217337B CN 200710072808 CN200710072808 CN 200710072808 CN 200710072808 A CN200710072808 A CN 200710072808A CN 101217337 B CN101217337 B CN 101217337B
Authority
CN
China
Prior art keywords
code
bit
matrix
check
code word
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
Application number
CN 200710072808
Other languages
Chinese (zh)
Other versions
CN101217337A (en
Inventor
徐俊
袁志锋
胡留军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200710072808 priority Critical patent/CN101217337B/en
Publication of CN101217337A publication Critical patent/CN101217337A/en
Application granted granted Critical
Publication of CN101217337B publication Critical patent/CN101217337B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a kind of structured low density parity check code coding method for supporting any code rate/code length,Random length to channel encoder input is that K information bit sequence encodes,Then exporting random length is N code word bits sequence to subsequent processing unit,Bit length M=N-K is verified,Code rate r=K/N,Described method includes following steps: 1) determine low density parity check code mother's code collection of a specific code rate R0,Mother's code collection is made of the low density parity check code that limited code rate is R0 different code length,Mother's code collection has the basis matrix of Unified Form
Figure B07172808020070119A000011
2) it is matched according to information block length, determines spreading factor; According to the spreading factor and basis matrix
Figure B07172808020070119A000012
By shortening or punctured or expansion, parameter and matrix required for encoder are determined; 3) encoder parameter and matrix according to required for encoder encodes the K bit information block of input, generates N-bit code word, output codons.

Description

A kind of low density parity code encoding device and method of supporting the steadily increase redundancy mixed automatic retransfer
Technical field
The present invention relates to, particularly the present invention relates to be used in a kind of digital communication system code device and the method for transfer of data error correction, particularly relate to code device and the method for the low density parity check code in the digital communicating field error correcting technique.Based on a female code collection, by means of to the expansion (extending) of basis matrix, shorten (shortening) and delete more than (puncturing), can obtain a code check code length flexibly, best performance, the effective low density parity check code encoder of hardware.The invention still further relates to a kind of method of HARQ packet generation of LDPC code, above-mentioned new LDPC code can be used for the method for this HARQ packet generation, has guaranteed that new LDPC code can support steadily increase redundancy mixed automatic retransfer request IR HARQ well.The present invention gives the error detecting method of a kind of new LDPC, and this method can be applied to the error detection occurs of above-mentioned LDPC HARQ, has guaranteed performance and overhead (CRC bit) best compromise of error detection occurs.
Background technology
All digital communication systems all need channel encoder, as shown in Figure 1.Channel encoder is in order to resist various Noise and Interferences in the transmission course, by increasing artificially redundant information, so that system has the ability of automatic correction mistake, thus the reliability of assurance Digital Transmission.Low density parity check code is that a class can with the linear block codes of very sparse parity matrix or bipartite graph definition, be found by Gallager, so be called the Gallager code at first.Through the silence of many decades, along with the development of computer hardware and correlation theory, MacKay and Neal have rediscovered it, and have proved that it has the performance of approaching shannon limit.Current research shows that the low-density parity check code code has following characteristics: low decoding complexity, but linear time code has the performance of approaching shannon limit, but parallel decoding, and performance is better than Turbo code under the long code elongate member.
The LDPC code is a kind of linear block codes based on sparse check matrix, utilizes just the sparse property of its check matrix, could realize the coding and decoding of low complex degree, thereby so that the LDPC code moves towards practical.The LDPC code that above-mentioned Gallager code is a kind of canonical (regular LDPCC), and the people such as Luby and Mitzenmacher promote the Gallager code, propose non-regular LDPC code (irregular LDPCC).The LDPC code has a lot of decoding algorithms, wherein, information pass-algorithm (Message Passing algorithm) or confidence spread algorithm (Belief Propagation algorithm, the BP algorithm) is main flow and the basic algorithm of LDPC code, a lot of improved efficient coding algorithms occurred at present.
The diagrammatic representation form of LDPC parity matrix is bipartite graph.Have one to one relation between bipartite graph and the check matrix, the parity check matrix H of a M*N has defined the constraint that each code word with N bit satisfies M parity check collection.A bipartite graph comprises N variable node and M parity check node.When m verification relates to n bit, i.e. the element H of the capable n row of m among the H M, n, will there be a line to connect check-node m and variable node n at=1 o'clock.In the bipartite graph, do not have connection between any of a sort node, and the number of nonzero element equates in the total limit number in the bipartite graph and the check matrix.
The special LDPC code of one class becomes mainstream applications gradually owing to have structurized feature.If the parity check matrix H of this LDPC code is the (M * z) * (matrix of N * z), it is to be made of M * N matrix in block form, each matrix in block form is the different powers of the basic permutation matrix of z * z, when basic permutation matrix was unit matrix, they all were the cyclic shift matrices (be defaulted as in the literary composition and move to right) of unit matrix.Have following form:
If h ij b = - 1 , Have P h ij b = 0 .
If
Figure GSB00000817984300023
To be greater than or equal to 0 integer, definition
Figure GSB00000817984300024
Here P is a z * z
P = 0 1 0 . . . 0 0 0 1 . . . 0 . . . . . . . . . . . . . . . 0 0 0 . . . 1 1 0 0 . . . 0
The standard replacement matrix, as follows:
By such power
Figure GSB00000817984300026
Just can each matrix in block form of unique identification, the power of unit matrix can
H = P h 00 b P h 01 b P h 02 b . . . P h 0 n b b P h 10 b P h 11 b P h 12 b . . . P h 1 n b b . . . . . . . . . . . . . . . P h m b 0 b P h m b 1 b P h m b 2 b . . . P h m b n b b = P H b
Represent that with 0 null matrix generally represents with-1.Like this, if each matrix in block form of H power with it is replaced, just obtain a m b* n bThe power matrix H bHere, definition H bB is the basis matrix of H, and H is called H bExtended matrix.When actual coding, the columns n of z=code length/basis matrix b, be called spreading factor.
For example, matrix H can be with following parameter z and one 's 2 * 4 basis matrix H bExpansion obtains:
Z=3 and H b = 0 1 0 - 1 2 1 2 1
Therefore, also the encoder of LDPC code of the present invention is by basis matrix H b, spreading factor z and the unique generation of selected basic permutation matrix.
If adopt a basis matrix for each different spreading factor LDPC code, so, for each different code length, described LDPC CODEC all needs to store a basis matrix, when code length is a lot, will store a lot of basis matrixs, expression and storage problem can appear like this.Therefore, when needs were realized becoming code length, the low density parity check code of multiple code length can use the basis matrix of a unified form in the certain limit of same code check, and we are defined as the uniform based matrix During different code length, if right
Figure GSB00000817984300033
Revise and expand, can obtain parity check matrix H, so that generate
Figure GSB00000817984300034
Coder applicable to the variable occasion of code length.
Correction is to utilize the spreading factor of different code length to basis matrix H bIn nonnegative value revise, element value should be less than the spreading factor value under this code length after revising.Correction algorithm has a variety of, for example, can adopt delivery (mod), round (scale+floor) or round off (scale+round) etc., establishes P IjBe basis matrix H bNon-negative 1 element of the capable j row of i, P ' IjAfter revising
Figure GSB00000817984300035
Non-negative 1 element of the capable j of i row, have:
For delivery (mod) method:
P ij ′ ≡ P ij mod z ≡ P ij mod N n b
For rounding (scale+floor) method:
Figure GSB00000817984300037
For (scale+round) method that rounds off:
P ij ′ = Round ( P ij × z z max ) = Round ( P ij × N N max )
Wherein, z is spreading factor corresponding to current code length, the i.e. line number of block matrice of square or columns; z MaxFor maximum is supported spreading factor corresponding to code length.Mod is modulo operation,
Figure GSB00000817984300041
For under round operation, Round is the operation that rounds up.
For example, for code length 1152 bit low density parity check codes, establishing certain non-negative element of its basis matrix is 93, and the maximum code length of establishing support is 2304, and the basis matrix size is 12*24, and then its correction result is:
For delivery (mod) method:
93 mod 1152 24 = 93 mod 48 = 45
For rounding (scale+floor) method:
Figure GSB00000817984300043
For (scale+round) method that rounds off:
Round ( 93 × 1152 2304 ) = Round ( 46.5 ) = 47
The low density parity check code of this specific code check variable code length is because basis matrix with same form, so fully can be with an encoder/decoder.In IEEE802.16e, the LDPC code is supported code check 1/2, code check 2/3, code check 3/4, code check 5/6, this moment occurs four basis matrixs, realizes that with unique encoder/decoder the coding and decoding of different code checks will become relatively more difficult; If four code checks need four coders, hardware cost will become one and use bottleneck.
Automatic repeat request HARQ is extremely important link adaptation techniques in a kind of wireless communication system.
Below just automatic repeat request HARQ method is done simple an introduction, the method comprises in the transmitter method of reseptance two parts in the sending method and receiver, the method should be general.
The sending method of transmitter (Transmitter) comprising:
A. transmitter sends first HARQ bag at the HARQ of appointment channel, a new HARQ transmission beginning, and retransmission times counter puts 1;
B. the affirmation of transmitter wait receiver transmission/deny (ACK/NAK);
C. after certain delay, (depend on the method for synchronization or asynchronous system, postpone by decisions such as systems) that if transmitter is received ACK, then this bag correctly receives this HARQ end of transmission; Otherwise retransmission times counter adds 1, judges whether number of retransmissions surpasses the maximum the number of transmissions that allows, if surpass, then this HARQ end of transmission if do not surpass, then goes to d.;
D. transmitter is done the trial of another HARQ again at the HARQ channel of this HARQ transmission, and transmitting time can be selected by system, goes to b..
The method of reseptance of receiver (Reiciver) comprising:
A. receive the HARQ bag, whether first HARQ attempts the bag that acknowledges receipt of, and if so, goes to b.; Otherwise go to d.;
B. being discarded in the HARQ that receives before all under this HARQ channel attempts;
C. bag is decoded, go to e.;
D. receiver decoder is according to the former mistake of specific merging Combination of Methods and encoded packets that retransmit;
If e. be correctly decoded, then after certain delay, in feedback channel, send ACK, this channel is by system assignment; Otherwise, send NAK, store this HARQ bag.
In the steps d of above-mentioned method of reseptance, the method for merging may comprise that complete steadily increase redundancy, part steadily increase redundancy and Chase merge.
To automatic repeat request HARQ implementation structure, lot of documents and books have introduction.No matter be method or structure, it is important that the pass is all put in the generation of HARQ bag, determined performance and complexity.
Because HARQ is a kind of very important link adaptation techniques, so good low density parity check code must be supported the realization of HARQ, this also is the most important purpose of the present invention.The present invention will provide the HARQ packet generation method based on low density parity check code design of the present invention.
For the HARQ system of low density parity check code, error detection occurs is necessary, and two kinds of typical methods are arranged.A kind of is directly to utilize the parity matrix of low density parity check code to detect, and is about to the transposition of codeword vector and parity matrix to taking advantage of, and judges whether null vector of multiplied result again, is then correct, is not mistake then.
Another kind is, before coding, add cyclic redundancy check (CRC) bit after the information bit sequence, the LDPC encoder is encoded to above-mentioned CRC code word, produce the LDPC code word and give the postorder processing unit, arrive receiver by transmission, the soft code word of LDPC of the processing unit output in the receiver before the decoder will be delivered to ldpc decoder and decipher, and the information block of decoding output is carried out CRC and detected.
Summary of the invention
The technical problem to be solved in the present invention provides the problem that LDPC code that a kind of the object of the invention is to solve different code check different code lengths can not use identical coder, a kind of newly-designed coder and method are provided, improved the LDPC code in performances such as the flexibility of code check/code length, decoding speed (throughput, decoding latency), power loss, encoding and decoding complexities.The present invention is particularly suitable for supporting steadily increase redundancy to mix and retransmits (IR_HARQ), can guarantee low code check realization by the unified basis matrix of expansion (extend), the LDPC code has enough low code check when having guaranteed to support complete steadily increase redundancy mixing re-transmission IR_HARQ, such as 1/3,1/5 etc., the decoder complexity is minimum as a result.
In order to solve the problems of the technologies described above, the invention provides a kind of structured low density parity check code coding method of supporting any code check/any code length, random length to the channel encoder input is that the K information bit sequence is encoded, then exporting random length is that N code word bits sequence is to follow-up processing unit, check digit length M=N-K, code check r=K/N, described method comprises the steps:
1) determines a specific code check R 0The female code collection of low density parity check code, it is as R by limited code check that described female code integrates 0The low density parity check code of different code length consists of, the basis matrix that described female code collection has Unified Form
Figure GSB00000817984300061
2) according to the information block length coupling, determine spreading factor; As code check R 〉=R 0The time, by
Figure GSB00000817984300062
With spreading factor Z k, by Correction algorithm, determine
Figure GSB00000817984300063
With correction matrix
Figure GSB00000817984300064
Spreading factor Z kOutputing to LDPC with the matrix size parameter shortens in the code coder; As code check R<R 0The time,
Figure GSB00000817984300065
Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix Based on basis matrix
Figure GSB00000817984300067
With spreading factor Z k, to basis matrix
Figure GSB00000817984300068
Carry out Revise, form correction matrix
Figure GSB00000817984300069
With correction matrix
Figure GSB000008179843000610
Spreading factor Z kOutputing to LDPC with the matrix size parameter shortens in the code coder;
3) encoder is encoded to the K bit information grouping of input according to the needed parameter of encoder and matrix, produces the N bit codewords, output codons.
The method according to this invention is in step 1) in,
The female code collection of described low density parity check code has defined P same code rate R 0(N=z * the n of different code length b, K=z * k b) low density parity check code, wherein, Zset is the spreading factor set, and spreading factor z can be any one element among the Zset, and Zset is greater than zero positive integer z by P 1<z 2<...<z K-1<z k<...<z PThe set that consists of, P is certain greater than 1 integer, and basis matrix
Figure GSB000008179843000611
Code check is always arranged
Figure GSB000008179843000612
Wherein, n bThe definite integer greater than 2, m bThe definite integer greater than 1, k b=n b-m b
The method according to this invention is in step 2) in, determine that relatively code check R is less than R 0, calculation code desired parameters and matrix comprise:
Step B1, utilization Determine Δ m, at basis matrix
Figure GSB000008179843000614
Last column and to increase respectively Δ m capable and increase Δ m row in last row back, expansion forms (m b+ Δ m) * (n b+ Δ m) expansion basis matrix
Figure GSB00000817984300071
Here,
Figure GSB00000817984300072
Expression rounds downwards;
Step B2, utilize formula
Figure GSB00000817984300073
With
Figure GSB00000817984300074
Determine spreading factor, determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, z wherein K-1, z kBe the adjacent element of size among the Zset, the required spreading factor of encoder is z k
Step B3, based on the expansion after unified spread foundation matrix
Figure GSB00000817984300075
With spreading factor z=z k, according to correction algorithm pair Revise, can calculate ((n b+ Δ m) * z k, k b* z k) the encode basis matrix of needed correction of LDPC
Figure GSB00000817984300077
Here, the basis matrix of the correction needed matrix of encoding exactly, spreading factor and the matrix size parameter needed parameter of encoding exactly.
The method according to this invention is in step 2) in, determine that relatively code check R is more than or equal to R 0, calculation code desired parameters and matrix comprise:
Utilize spreading factor
Figure GSB00000817984300078
Determine spreading factor z t, determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, z wherein K-1, z kBe the adjacent element of size among the Zset, the required spreading factor of encoder is z kBased on unified basis matrix
Figure GSB00000817984300079
With spreading factor z k, according to spreading factor z kCan calculate (m with correction algorithm b* z k, n b* z k) the needed revised basis matrix of coding; Wherein, the basis matrix of the described correction needed matrix of encoding exactly, spreading factor and the matrix size parameter needed parameter of encoding exactly.
The method according to this invention is in step 3) in, the coding of information bit calculated comprise:
Step B1, interpolation x=k bZ-K zero bit before K the information bit, the formation needed k that encodes bZ kInformation block; Then carry out ((n b+ Δ m) * z k, k b* z k) the LDPC coding, form (n b+ Δ m) * z kIndividual coding codeword bit;
Step B2, in above-mentioned coding codeword, the x that adds among the delete step B1 zero bit if code word bits number and needed packet size N after the deletion do not mate, then behind deletion zero bit, continues to select correct position, y=(m in the deletion code word b+ Δ m) * z k-N+K bit, forming length is the coding codeword of N.
The method according to this invention, in step B1, described basis matrix expansion method is:
For
Figure GSB000008179843000710
In newly-increased matrix part, satisfy m for any b+ 1≤i≤m b+ Δ m line index i has
H b extension ( i , i - m b ) = 0
H b extension ( i , i - m b + n b - 1 ) = 0
H b extension ( i , i - m b + n b ) = 0
Fill with the element that represents zero square formation other position;
Wherein, i is matrix
Figure GSB00000817984300084
Line index, the ranks index is all since 1.
The method according to this invention, in step B1, described basis matrix expansion method is:
For
Figure GSB00000817984300085
In newly-increased matrix part, for line index i=m b+ 1, always have
H b extension ( i , i - m b ) = 0
H b extension ( i , i - m b + 1 ) = 0
H b extension ( i , i - m b + n b ) = 0
Fill with the element that represents zero square formation other position;
Satisfy m for any b+ 2≤i≤m b+ Δ m line index i has
H b extension ( i , i - m b + 1 ) = 0
H b extension ( i , i - m b + n b - 1 ) = 0
H b extension ( i , i - m b + n b ) = 0
Fill with the element that represents zero square formation other position;
Wherein, i is matrix
Figure GSB000008179843000812
Line index, the ranks index is all since 1.
The present invention also provides a kind of code device of supporting the low density parity check code of any code check/code length, channel encoder input information bits sequence is encoded, then the output codons bit sequence is given follow-up processing unit, it is characterized in that, described code device comprises: basis matrix memory, matrix parameter calculator, LDPC shorten code coder, deletion code word bit device, wherein
Described basis matrix memory is used for storing unified m b* n bBasis matrix
Figure GSB000008179843000813
And the output basis matrix is to the matrix parameter calculator;
Described matrix parameter calculator is as code check R 〉=R 0The time, by
Figure GSB000008179843000814
With spreading factor Z k, by Repair Normal operation method, determine
Figure GSB000008179843000815
With correction matrix
Figure GSB000008179843000816
Spreading factor Z kOutputing to LDPC with the matrix size parameter shortens in the code coder; As code check R<R 0The time,
Figure GSB00000817984300091
Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure GSB00000817984300092
Based on basis matrix
Figure GSB00000817984300093
With spreading factor Z k, to basis matrix
Figure GSB00000817984300094
Revise, form correction matrix
Figure GSB00000817984300095
With correction matrix
Figure GSB00000817984300096
Spreading factor Z kOutput to LDPC with the matrix size parameter and shorten in the code coder, and the needed parameter of deletion code word bit device;
LDPC shortens code coder, according to matrix and the parameter that described matrix parameter calculator produces, information block encoded, and generated codeword, and output to deletion code word bit device;
Deletion code word bit device is used for the code word bits that the code word some is shortened in deletion, and the N that will obtain after will deleting code word output.
According to device of the present invention, described matrix parameter calculator comprises an alternative device, first kind calculator, Equations of The Second Kind calculator, wherein,
The alternative device is for comparing actual bit rate R and female yard code check R that collects 0If, R 〉=R 0, select operation first kind calculator; If R<R 0, operation Equations of The Second Kind calculator;
First kind calculator is determined spreading factor z k, by
Figure GSB00000817984300097
With spreading factor z k, by correction algorithm, determine
Figure GSB00000817984300098
With correction matrix
Figure GSB00000817984300099
Spreading factor z kOutput to LDPC with the matrix size parameter and shorten code coder;
The Equations of The Second Kind calculator is determined spreading factor,
Figure GSB000008179843000910
Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure GSB000008179843000911
Based on basis matrix
Figure GSB000008179843000912
With spreading factor z k, to basis matrix
Figure GSB000008179843000913
Revise, form correction matrix With correction matrix
Figure GSB000008179843000915
Spreading factor z kOutput to LDPC with the matrix size parameter and shorten code coder.
According to device of the present invention, in described first kind calculator,
At first determine spreading factor
Figure GSB000008179843000916
Then determine z tWith element among the Zset following magnitude relationship z is arranged K-1<z t≤ z k, z wherein K-1, z kThe adjacent element of size, then Z among the Zset kNeed exactly the spreading factor exported, k b=n b-m b, n b=N/z t, n b=N/z t, N presentation code output codons bit length wherein, K presentation code device input information bits length;
Based on m ' b=m ' b, n ' b=n b, unified basis matrix With spreading factor z k, by revising, determine H b mod ified ;
With correction matrix
Figure GSB00000817984300101
Spreading factor z kOutput to LDPC with the matrix size parameter and shorten code coder 604, perhaps to correction matrix Expand, form parity check matrix H, then export parity check matrix H, spreading factor z k Shorten code coder 604 with the matrix size parameter to LDPC.
According to device of the present invention, in described Equations of The Second Kind calculator,
At first definite
Figure GSB00000817984300103
Wherein,
Figure GSB00000817984300104
Expression rounds up, and R represents actual bit rate;
Determine z according to specific spreading factor computing formula t
According to z tMagnitude relationship z with element among the Zset K-1<z t≤ z k, determine the spreading factor z that exports k, wherein, z K-1, z kIt is the adjacent element of size among the Zset;
Determine m ' b=m b+ Δ m, n ' b=n b+ Δ m is to (m b, n b) basis matrix Expand,
Figure GSB00000817984300106
Last column and to increase respectively Δ m capable and increase Δ m row in last row back, expansion obtain (m ' b, n ' b) basis matrix
Figure GSB00000817984300107
Based on basis matrix
Figure GSB00000817984300108
With spreading factor z k, to basis matrix Revise, form correction matrix
Figure GSB000008179843001010
With correction matrix
Figure GSB000008179843001011
Spreading factor z kOutput to LDPC with the matrix size parameter and shorten code coder 604, perhaps to correction matrix Expand, form parity check matrix H, then export parity check matrix H, spreading factor z k Shorten code coder 604 with the matrix size parameter to LDPC.
According to device of the present invention, described calculating z tParticular extension factor computing formula be
Figure GSB000008179843001013
According to device of the present invention, described calculating z tParticular extension factor computing formula be
Figure GSB000008179843001014
According to device of the present invention, described code device further comprises an input message packet buffer, is used for the information block of input is carried out buffer-stored and it is outputed to LDPC shortening code coder 604.
According to device of the present invention, described code device further comprises an output codons packet buffer, is used for buffer-stored and output are carried out in the code word grouping of deletion code word bit device 605 outputs.
According to device of the present invention, described deletion code word bit device 605 is that selection will be at y=m ' b* z kCode word bits deletion on-N+K delete position.
According to device of the present invention, described shortening code coder, comprise one (m ' b* z, n ' b* z) the female code coder of LDPC, one add zero bit device, one and remove zero bit device, establish input k bit information block and spreading factor z t, wherein,
One is added zero bit device, is used for adding x=k before the grouping of k bit information bZ k-K zero bit obtains k bThe coding information needed grouping of z bit outputs to the next stage encoder;
One (m ' b* z, n ' b* z) the female code coder of LDPC, (n ' b* z k, k b* z k) the female code coder of LDPC, according to basis matrix and the spreading factor (perhaps parity matrix) of input above-mentioned coding information needed grouping is encoded, obtain n ' bZ kIndividual female code code word bits outputs to and removes zero bit device;
Remove zero bit device for one, front x zero bit obtains shortening the code code word in female code code word of deletion input; Output is shortened the code code word to deletion code word bit device, here k ' b=n ' b-m ' b
The present invention also provides a kind of production method of mixed automatic retransfer request HARQ bag of low density parity check code, said method comprising the steps of:
C1), grouping generates the female code of LDPC HARQ code word according to input K bit information;
C2), the female code of a LDPC HARQ code word bits is arranged, wherein, keep the order of information bit, change the check bit order;
C3), select LDPC HARQ code word bits, by to step C2) output arrange after code word sequentially select successively bit sequence, namely for the first time transmission is from the first systematic bit, the starting position of each transmission is immediately following the position of the last end of transmission later on, the binary sequence of the HARQ bag that finally obtains outputs to next processing unit.
According to the method for device of the present invention, in step C1,
The K bit information grouping of input is that lowest bit rate is R under complete steadily increase redundancy condition FIRSituation under input, wherein, R FIRGiven by system, N FIR=K/R FIR, for above-mentioned N FIRFemale code code word, the front is K information bit, the back is M FIR=N FIR-K check bit.
According to the method for device of the present invention, in step C1, the female code of LDPC HARQ code word generates and may further comprise the steps:
1) determines a specific code check R 0The female code collection of low density parity check code, it is as R by limited code check that described female code integrates 0The low density parity check code of different code length consists of, the basis matrix that described female code collection has Unified Form
Figure GSB00000817984300121
Wherein, the random length of channel encoder input is the K information bit sequence, and the output random length is N code word bits sequence, check digit length M=N-K, code check r=K/N;
2) according to the information block length coupling, determine spreading factor; According to described spreading factor and basis matrix By shortening or deleting remaining or expansion, determine the needed parameter of encoder and matrix;
3) encoder is encoded to the K bit information grouping of input according to the needed parameter of encoder and matrix, produces the N bit codewords, output codons.
According to the method for device of the present invention, in step C2, the arrangement of LDPC HARQ mother code code word bits is based on following formula and arranges, and the data of arranging front i position are put into arrange rear j position,
Figure GSB00000817984300123
Wherein, Round under the expression, i, j and l are since 0; I is the bit position indices of code word before arranging, and j is the bit position indices of code word after arranging; P deletes remaining pattern, and size is m bVector, be by from k bTo n b-1 integer consists of, the predefined arrangement that above-mentioned element forms.
According to the method for device of the present invention, in step C3, the code word bits selective rule is based on following formula and selects, code word after bit arrangement, select the bit according to the resulting as a result position of described formula, be put into i bit position of k HARQ bag
S k , i = ( i ) mod ( N FIR ) k = 0 ( Σ j = 0 k - 1 L j + i ) mod ( N FIR ) k ≠ 0
Wherein, k is the index of HARQ bag, reflects the number of transmissions of current HARQ bag, k=0 when transmitting for the first time, and k=1 when transmitting for the second time adds 1 for transmit k next time;
N FIRThe length of female code code word;
S K, iThe location index that represents k HARQ bag, being used for identifying current HARQ bag index is the bit position of i, the corresponding S of first bit K, i=0 (i=0), wherein i is since 0;
L kThe length that represents k HARQ bag.
LDPC code coding/decoding apparatus and method provided by the invention have following advantage: the LDPC code of different code check different code lengths has unified coder, and the LDPC code of different code check different code lengths has a unified R0 basis matrix.The most important thing is, can effective support IR_HARQ, and lowest bit rate can be much smaller than R0 in the time of complete steadily increase redundancy (Full IR), can be by being that the uniform based matrix of R0 is expanded (extension) and obtained to code check, the complexity of decoder depends on that code check is the complexity of the LDPC code of R0 when R>R0, and the complexity of decoder depends on that code check is the complexity of the LDPC code of R when R<R0.Remaining method is deleted in relatively existing shortening, has saved significantly hardware cost and computation complexity, has greatly improved the flexibility of code book body, and the scope of application of code will obtain greatly expansion.
The invention solves the LDPC code aspect variable code rate and defective that steadily increase redundancy HARQ supports, so that the LDPC code is not being failed the code in turbo aspect the flexibility of code check/code length, and in decoding speed (throughput, decoding latency), power loss, encoding and decoding complexity aspect significantly are better than the turbo code, quite (the turbo code was dominant when short code was long at aspect of performance and turbo code, the LDPC code was dominant when long code was long, and medium code length is suitable).Generally speaking, it is an inevitable trend that the LDPC code replaces the turbo code, and the present invention will be devoted to promote this trend.
Description of drawings
Fig. 1 is the system schematic at apparatus of the present invention place;
Fig. 2 is (n b* z, k b* z) the code word of the female code of structured LDPC;
Fig. 3 is that code check is less than R 0The time (N, K) shorten-code word of deletion LDPC code;
Fig. 4 is (n b* z, k b* z) the code word of the female code of structured LDPC;
Fig. 5 is that code check is greater than R 0The time (N, K) deletion-shorten code word of LDPC code;
Fig. 6 is the present invention (N, K) LDPC code device;
Fig. 7 is the matrix parameter calculator in apparatus of the present invention;
Fig. 8 is that LDPC of the present invention shortens code encoding device;
Fig. 9 is the first basis matrix expansion (extension) method that the present invention proposes;
Figure 10 is the second basis matrix expansion (extension) method that the present invention proposes;
Embodiment
The present invention is described in detail below in conjunction with drawings and the specific embodiments.
Basic ideas of the present invention are, take the structured LDPC code collection of specific code check variable code length as the basis, be close to as far as possible design principle with structured LDPC information bit or check digit number as far as possible with actual coding information bit or check digit number, have optimum number of times with the LDPC code and be distributed as condition, by expanding (extending), shorten (shortening) or deleting remaining (puncturing) operation, realize the coding and decoding of the low density parity check code of any code length arbitrary bit rate; Realized the support to HARQ, guaranteed that the LDPC code has enough low code check under complete steadily increase redundancy merging mode.
Fig. 1 is the system schematic at apparatus of the present invention place.Code device of the present invention, i.e. channel encoder among Fig. 1.Channel encoder is realized chnnel coding: be exactly the reliability that guarantees communication, it will be encoded to the data behind the above-mentioned information source coding, add redundant bit, guarantee receiving terminal, can correction process, and raising communication quality and reliability.Usually said error correcting code or chnnel coding refer to LDPC code, turbo code, convolution code, RS code, BCH code.Source encoder has been realized the information source coding, guarantees the validity of communication, and it is converted into binary digital signal with analog signal (such as voice, image etc.), and carries out data compression (such as language compression, image compression etc.).In addition, need to prove that Code And Decode is corresponding, so adopted encoder of the present invention and coding method, its decoder and coding/decoding method also just have corresponding requirement, and the present invention seldom gives unnecessary details.
The invention provides a kind of low density parity check code encoding method of supporting any code check/code length, be used for K information bit of encoder input encoded, produce M check bit, information bit and check bit consist of N code word bits together, then output to the next stage processing unit.Wherein, M=N-K, code check R=K/N, K and N can be arbitrarily greater than zero integer.Described method specifically comprises the steps:
A, specific code check R of setting 0And the female code collection of the low density parity check code of limited code length is used for realizing (N=z * n b, K=z * k b) coding and decoding of low density parity check code, wherein, z is spreading factor, and Zset is the spreading factor set, and z ∈ Zset, Zset are greater than zero positive integer z by P 1<z 2<...<z K-1<z k<...<z PThe set that consists of, P is certain greater than 1 integer.This yard collection has the (m of a Unified Form b* n b) basis matrix
Figure GSB00000817984300141
In order to realize (z * n b, z * k b) coding and decoding, revise unified basis matrix with specific correction computing and spreading factor z
Figure GSB00000817984300142
Obtaining revised basic square falls
Figure GSB00000817984300143
Basis again
Figure GSB00000817984300144
Just can expand with z and to obtain parity matrix; And basis matrix
Figure GSB00000817984300151
Code check is always arranged Wherein, n bThe definite integer greater than 2, m bThe definite integer greater than 1, k b=n b-m b
B, as code check R<R 0The time, any information block length was K before order was encoded, and any code word size is N behind the coding, and z is the spreading factor of structured LDPC code, and the check digit number is M=N-K, code check r=K/N; Coding method for the LDPC code of finishing (N, K) is as described below:
Step B1, code check coupling: calculate
Figure GSB00000817984300153
Figure GSB00000817984300154
Last column and to increase respectively Δ m capable and increase Δ m row in last row back, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure GSB00000817984300155
Here,
Figure GSB00000817984300156
Expression rounds downwards.
Step B2, code length coupling: calculate spreading factor
Figure GSB00000817984300157
Perhaps
Figure GSB00000817984300158
Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, wherein, z K-1, z kBe the adjacent element of size among the Zset, the required spreading factor of encoder is z kBased on unified basis matrix after the expansion (extension) With the spreading factor z=z that calculates k, can obtain ((n b+ Δ m) * z k, k b* z k) the female code of LDPC; Need to prove, calculate z tRecommend to use
Figure GSB000008179843001510
Because can prove
Figure GSB000008179843001511
Step B3, shortening coding: add x=(k bZ-K) individual zero bit is before K the information bit, the formation needed k that encodes bZ kInformation block; Then carry out ((n b+ Δ m) * z k, k b* z k) the LDPC coding, obtain (n b+ Δ m) * z kIndividual coding codeword bit;
Step B4, Puncture: for above-mentioned coding codeword, the x that adds among the delete step B3 zero bit be not if code word bits number and needed packet size N after the deletion mate, then after deletion zero bit, select correct position, y=(m in the deletion code word b+ Δ m) * z k-N+K bit finally obtains the code word that length is N.
Wherein, in above-mentioned steps B1,
Figure GSB000008179843001512
Last column and to increase respectively Δ m capable and increase Δ m row and form (m in last row back b+ Δ m) * (n b+ Δ m) matrix
Figure GSB000008179843001513
Extended method have following two kinds, but the present invention is not limited to this two kinds of methods.These two kinds of methods are respectively:
Method 1:
Figure GSB000008179843001514
In newly-increased matrix part, satisfy m for any b+ 1≤i≤m b+ Δ m line index i has
H b uniform _ extension ( i , i - m b ) = 0
H b uniform _ extension ( i , i - m b + n b - 1 ) = 0
H b uniform _ extension ( i , i - m b + n b ) = 0
Here, the ranks index is all since 1.
As shown in Figure 9, provided an instantiation of method 1.First formula has produced the from left to right null sequence of first one-tenth miter angle, and second formula produced from left to right second null sequence that becomes miter angle, and the 3rd formula produced from left to right the 3rd null sequence that becomes miter angle.Wherein, second null sequence and the 3rd null sequence are adjacent.
Method 2: for In newly-increased matrix part, for line index i=m b+ 1, always have
H b uniform _ extension ( i , i - m b ) = 0
H b uniform _ extension ( i , i - m b + 1 ) = 0
H b uniform _ extension ( i , i - m b + n b ) = 0
Satisfy m for any b+ 2≤i≤m b+ Δ m line index i has
H b uniform _ extension ( i , i - m b + 1 ) = 0
H b uniform _ extension ( i , i - m b + n b - 1 ) = 0
H b uniform _ extension ( i , i - m b + n b ) = 0
Here, the ranks index is all since 1.
As shown in figure 10, provided an instantiation of method 2.For line index i=m b+ 1=5 according to the 1st, 2,3 formula of method 2, can expand uniform based matrix the 5th row the 1st, three elements of the 2nd and the 9th row are 0.For line index i 〉=(m b+ 2) matrix part=6, three null sequences that become miter angle are from left to right arranged, first null sequence is that the 4th formula of method 2 calculates, and second null sequence is that the 5th formula of method 2 calculates, and the 3rd null sequence is that the 6th formula of method 2 calculates.
It may be noted that for above-mentioned two kinds of expansion methods, in the expansion basis matrix 0 element representation the unit matrix of parity matrix, other positions can be with the filling of the element of zero square formation that represents parity matrix, such as-1 in the expansion basis matrix.
C, as code check R 〉=R 0The time, any information block length was K before order was encoded, and any code word size is N behind the coding, and z is the spreading factor of structured LDPC code, and the check digit number is M=N-K; Coding method for the LDPC code of finishing (N, K) comprises:
Step C1, code check coupling: calculate spreading factor
Figure GSB00000817984300169
Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, z wherein K-1, z kIt is the adjacent element of size among the Zset; Based on unified basis matrix With the spreading factor z that calculates k, obtain (m b* z k, n b* z k) the female code of LDPC;
Step C2, shortening coding: add x=(k bZ k-K) individual zero bit before K the information bit, the formation needed k that encodes b* z kInformation block; Then carry out (m b* z k, n b* z k) the LDPC coding, obtain m b* z kIndividual check digit, information block and check digit grouping have consisted of n b* z kShorten the code code word;
Step C3, Puncture: to shortening x zero bit that adds among the code code word delete step C2, if code word bits number and needed packet size N after the deletion do not mate, behind above-mentioned deletion zero bit, continue deletion y=(m the code word b* z k-N+K) individual bit finally obtains the code word that length is N.
Below the example with a reality comes technology of the present invention as further instruction.
At first, first female code collection of low density parity check code is revised, obtained the modified basis matrix.
A specific code check R 0=1/2, have the female code collection of the structurized LDPC code of a plurality of code lengths, the uniform based matrix size that this mother's code integrates is as m b* n b=16 * 32, the spreading factor that integrates of code be with 1 as step-length from z Min=12 are increased to z Max=640, be denoted as z ∈ Zset={z Min: 1: z Max.Because the corresponding particular extension factor z of specific code length N is so information block length is with k bFor step-length from z Min* k bBe increased to z Max* n b, be denoted as K ∈ { z Min* k b: k b: z Max* k b192: 16 }={: 10240}.Code check R 0The uniform based matrix of=1/2 female code collection
Figure GSB00000817984300172
As follows:
H b uniform = [ H b system | H b parity ] , Wherein,
H b system =
- 1 110 - 1 - 1 - 1 - 1 108 - 1 8 274 - 1 173 - 1 - 1 605 - 1 - 1 265 - 1 242 - 1 571 - 1 - 1 - 1 - 1 - 1 77 246 - 1 194 - 1 - 1 538 - 1 - 1 - 1 - 1 411 - 1 - 1 - 1 194 0 - 1 - 1 63 358 348 260 - 1 - 1 - 1 166 - 1 - 1 - 1 - 1 - 1 271 - 1 566 23 - 1 - 1 574 575 - 1 - 1 - 1 - 1 111 - 1 466 - 1 241 - 1 - 1 238 - 1 - 1 474 - 1 - 1 - 1 218 - 1 - 1 321 - 1 - 1 422 - 1 466 601 - 1 - 1 618 - 1 485 - 1 - 1 - 1 454 - 1 - 1 363 148 - 1 - 1 56 1 - 1 459 - 1 - 1 193 270 - 1 - 1 - 1 - 1 - 1 178 - 1 - 1 495 112 346 170 - 1 241 - 1 - 1 - 1 - 1 - 1 - 1 - 1 380 - 1 - 1 611 - 1 - 1 353 - 1 - 1 - 1 405 - 1 - 1 - 1 317 - 1 255 - 1 - 1 343 436 552 282 - 1 - 1 - 1 - 1 - 1 - 1 436 - 1 - 1 42 96 - 1 630 - 1 - 1 621 - 1 - 1 - 1 170 12 - 1 - 1 - 1 567 479 - 1 - 1 194 - 1 - 1 73 - 1 187 218 - 1 - 1 - 1 471 - 1 - 1 158 - 1 - 1 352 - 1 - 1 329 501 - 1 - 1 185 - 1 - 1 - 1 - 1 532 595 - 1 - 1 524 - 1 - 1 108 - 1 - 1 536 - 1 - 1 - 1 - 1 452 - 1 48 - 1 195 573 - 1 - 1 409 - 1 - 1 - 1 9 - 1 285 - 1 - 1 - 1 5 552 - 1 293 - 1
0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 135 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0
H b parity =
In order to realize (z * n b, z * k b) coding and decoding of low density parity check code, need to foregoing certain revise computing and spreading factor z revise unified basis matrix
Figure GSB00000817984300182
Obtain revised basis matrix
Figure GSB00000817984300183
According to
Figure GSB00000817984300184
Just can obtain parity matrix with z.This example has adopted and has rounded (Scale+floor) correction formula and revise the uniform based matrix, and correction is right
Figure GSB00000817984300185
The element (h of expression non-zero square formation Ij b) UniformCarry out, here z Max=640:
By to above-mentioned
Figure GSB00000817984300187
Revise, can obtain modified basis matrix corresponding to low density parity check code of information block length K=288, code word size N=576, as follows:
H b mod ified =
- 1 3 - 1 - 1 - 1 - 1 3 - 1 0 7 - 1 4 - 1 - 1 17 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 7 - 1 6 - 1 16 - 1 - 1 - 1 - 1 - 1 2 6 - 1 5 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 15 - 1 - 1 - 1 - 1 11 - 1 - 1 - 1 5 0 - 1 - 1 1 10 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 9 7 - 1 - 1 - 1 4 - 1 - 1 - 1 - 1 - 1 7 - 1 15 0 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 16 16 - 1 - 1 - 1 - 1 3 - 1 13 - 1 6 - 1 - 1 6 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 13 - 1 - 1 - 1 6 - 1 - 1 9 - 1 - 1 12 - 1 12 16 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 17 - 1 13 - 1 - 1 - 1 12 - 1 - 1 10 4 - 1 - 1 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 12 - 1 - 1 5 7 - 1 - 1 - 1 - 1 - 1 5 - 1 - 1 13 3 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 9 4 - 1 6 - 1 - 1 - 1 - 1 - 1 - 1 - 1 10 - 1 - 1 17 - 1 3 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 9 - 1 - 1 11 - 1 - 1 - 1 8 - 1 7 - 1 - 1 9 12 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 15 7 - 1 - 1 - 1 - 1 - 1 12 - 1 - 1 1 2 - 1 17 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 - 1 17 - 1 - 1 - 1 4 0 - 1 - 1 - 1 15 13 - 1 - 1 5 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 - 1 2 - 1 5 6 - 1 - 1 - 1 13 - 1 - 1 4 - 1 - 1 9 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 - 1 9 14 - 1 - 1 5 - 1 - 1 - 1 - 1 14 16 - 1 - 1 14 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 - 1 3 - 1 - 1 15 - 1 - 1 - 1 - 1 12 - 1 1 - 1 5 16 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0 0 - 1 11 - 1 - 1 - 1 0 - 1 8 - 1 - 1 - 1 0 15 - 1 8 - 1 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 0
As code check R<R 0The time, the female code that provides based on embodiment collects, namely
Figure GSB000008179843001810
Utilize the LDPC coding method of any length/code check of support of the present invention, details are as follows:
Code check
Figure GSB000008179843001811
Information block length is K before the coding, and code word size is N behind the coding, and z is the spreading factor of structured LDPC code, and the check digit number that needs is M=N-K.
According to the low density parity check code encoding method of the above-mentioned any code check/code length of support, finish the coding of the LDPC code of (N, K), step is as follows:
Step B1, code check coupling: calculate
Figure GSB00000817984300192
Last column and to increase respectively Δ m capable and increase Δ m row in last row back, expansion obtains (m b+ Δ m) * (n b+ Δ m)=(16+ Δ m) basis matrix * (32+ Δ m) Here,
Figure GSB00000817984300194
Expression rounds up.
Step B2, code length coupling: calculate spreading factor
Figure GSB00000817984300195
Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, wherein, z K-1, z kIt is the adjacent element of size among the Zset; z kIt is exactly the spreading factor that we finally need; Unified basis matrix behind the extension-based
Figure GSB00000817984300196
With the spreading factor z that calculates k, can obtain ((n b+ Δ m) * z k, k b* z k)=((32+ Δ m) * z k, (16+ Δ m) * z k) the female code of LDPC;
Step B3, shortening coding: add x=(k bZ k-K)=(16z k-K) individual zero bit before K the information bit, the formation needed 16 * z that encodes kInformation block; Then carry out ((n b+ Δ m) * z k, k b* z k)=((32+ Δ m) * z k, (16+ Δ m) * z k) the LDPC coding, obtain (n b+ Δ m) * z k=(32+ Δ m) * z kBit codewords;
Step B4, Puncture: to x zero bit that adds among female code code word delete step B3, if code word bits number and needed packet size N after the deletion do not mate, then behind deletion zero bit after, select correct position, y=(m in the deletion code word b+ Δ m) * z k-N+K=(16+ Δ m) * z k-N+K bit finally obtains the code word that length is N.
Here provide a more concrete example, follow above-mentioned steps, realize that code check R=3/11 code length is that the N=1100 information block length is the LDPC coding of K=300, method is as follows:
Step 1, code check coupling: calculate
Figure GSB00000817984300197
Figure GSB00000817984300198
Last column and to increase respectively Δ m=27 capable and increase Δ m=27 row in last row back, expansion obtains m ' b* n ' b=(m b+ Δ m) * (n b+ Δ m)=43 * 59 basis matrix Above-mentioned expansion method is to adopt among the step B1 of coding method of the present invention method 2 to carry out;
Step 2, code length coupling: calculate spreading factor
Figure GSB000008179843001910
Can determine z tWith element among the Zset the following z of relation is arranged K-1=18<z t≤ z k=19, z wherein K-1, z kThe adjacent element of size, then z=z among the Zset k=19 is exactly the spreading factor that encoder needs;
According to z=19, to above-mentioned (m b+ Δ m) * (n b+ Δ m)=43 * 59
Figure GSB000008179843001911
Round (scale+floor) downwards and revise, obtain (m b+ Δ m) * (n b+ Δ m)=43 * 59
Figure GSB000008179843001912
According to spreading factor z=19 and (m b+ Δ m) * (n b+ Δ m)=43 * 59
Figure GSB00000817984300201
Just can obtain a parity matrix ((m by the basis matrix expansion b+ Δ m) * z k, (n b+ Δ m) * z kThe female code of the LDPC of)=817 * 1121 H.
Step 3, shortening coding: add x=k bBefore * z-K=16*19-300=4 zero bit to 300 information bit, consist of the needed 16 * z=304 information block of coding;
Based on ((m b+ Δ m) * z k, (n b+ Δ m) * z kThe H of)=817 * 1121 is that 304 information block is encoded to length, just can obtain length and be (m b+ Δ m) * z k=817 verification grouping, information block and verification grouping have consisted of length and have been (n b+ Δ m) * z k=1121 code words.
Step 4, Puncture: remove x=k in the above-mentioned 304 bit informations grouping b* z-K=4 zero, and last information block length is K=300; Again from above-mentioned (m b+ Δ m) * z kSelect in=817 bit verifications groupings y=(m ' b* z-N+K)=and 43 * 19-1100+300=17 position punches (Puncturing), and terminal check length is M=(m b+ Δ m) * z k-y=817-17=800; The verification grouping of above-mentioned K=300 bit information grouping and M=800 bit has consisted of the N=1100 bit codewords that we need.
As code check R 〉=R 0The time, the female code that provides based on embodiment collects, namely Utilize the coding method of the LDPC code of any length/code check of support of the present invention, details are as follows:
Code check
Figure GSB00000817984300203
Information block length is K before the coding, and code word size is N behind the coding, and z is the spreading factor of structured LDPC code, and the check digit number that needs is M=N-K.
According to the low density parity check code encoding method of the above-mentioned any code check/code length of support, finish the coding of the LDPC code of (N, K), step is as follows:
Step C1, code check coupling: calculate spreading factor
Figure GSB00000817984300204
Based on unified basis matrix
Figure GSB00000817984300205
Spreading factor z with calculating obtains (n b* z, m b* z)=(32 * z, the female code of 16 * z) LDPC.
Step C2, shortening coding: add x=(k b* z-K)=(16 * z-K) individual zero bits before K the information bit, the formation needed k that encodes b* z=16 * z bit information grouping; Then carry out (N Ldpc=n b* z=32 * z, K Ldpc=k b* z=16 * z) LDPC encodes, and obtains n b* z=32 * z bit codewords.
Step C3, Puncture: x zero bit to adding among female code code word delete step C2, if code word bits number and N after the deletion are unequal, continue deletion y=m the code word behind above-mentioned deletion zero bit b* z-N+K=16 * z-N+K bit finally obtains the code word that length is N.
Require emphasis, the selection of delete position is very important, needs to guarantee the best performance of the rear code of deletion.Here, the deleted bit position not only can comprise the check digit part, and can comprise the information bit part.
Here provide a more concrete example, follow above-mentioned steps, realize the LDPC coding of code check R=3/4 code length N=400 information block length K=300, step is as follows:
Step 1, at first calculate spreading factor
Figure GSB00000817984300211
Step 2, interpolation x=k bBefore * z-K=16 * z-K=16*19-300=4 zero bit to 300 information bit, consist of the needed k of coding b* z=16 * z=304 information block;
According to z=19, to above-mentioned m b* n b=16 * 32
Figure GSB00000817984300212
Carry out above-mentioned rounding (Scale+Floor) correction, obtain m b* n b=16 * 32 According to spreading factor z=19 and
Figure GSB00000817984300214
Obtain a parity matrix m by the basis matrix expansion bZ * n bThe H of z=304 * 608;
Based on m bZ * n bThe H of z=304 * 608 is k to length bThe information block of z=304 is encoded, and just can obtain length is m bThe verification grouping of z=304, it is n that information block and verification grouping have consisted of length bThe z=608 code word;
Step 3, remove above-mentioned k bX=k in the grouping of z=304 bit information b* z-K=4 zero, and last information block length is K=300; Again from above-mentioned m bZ kSelect y=m in=304 bit verifications grouping b* z-N+K=16 * 19-400+300=204 punches a position (Puncturing), and terminal check length is M=m bZ-y=304-204=100; The verification grouping of above-mentioned K=300 bit information grouping and M=100 bit has consisted of the N=400 bit codewords that we need.
The invention provides a kind of code device of supporting the low density parity check code of any code check/code length, it and above-mentioned example are consistent, be used for the input signal of code device is carried out chnnel coding, then be transmitted to demodulator, described code device comprises: basis matrix memory 601, matrix parameter calculator 602, input message packet buffer 603, LDPC shorten code coder 604, deletion code word bit device 605, and output codons packet buffer 606, as shown in Figure 6.Wherein:
Basis matrix memory 601 is used for storing unified m b* n bBasis matrix
Figure GSB00000817984300215
Output uniform based matrix is to matrix parameter calculator 602.
Matrix parameter calculator 602, input K, N, k b, n bWith
Figure GSB00000817984300216
Produce LDPC and shorten code coder 604 needed matrix and parameters, and deletion code word bit device 605 needed parameters.As shown in Figure 7, described matrix parameter calculator 602 comprises alternative device 701, first kind calculator 702 and Equations of The Second Kind calculator 703.The treatment step of described matrix parameter calculator 602 is as described below:
1), the code check R of the current actual coding of input: alternative device 701 is finished code check R=K/N with the code check R of female code 0=1/2 compares, if R 〉=R 0, enter first kind calculator 702; Otherwise enter Equations of The Second Kind calculator 703.
2), in first kind calculator 702, at first calculate spreading factor Then determine that element has following magnitude relationship z among zt and the Zset K-1<z t≤ z k, z wherein K-1, z kThe adjacent element of size, then z among the Zset kNeed exactly the spreading factor exported; Calculate m ' b=m b, n ' b=n b, based on unified basis matrix With the spreading factor z that calculates k, by revising, obtain With correction matrix
Figure GSB00000817984300224
Spreading factor z kOutput to LDPC with the matrix size parameter and shorten code coder 604, perhaps right
Figure GSB00000817984300225
Expand, obtain parity check matrix H, then export H, spreading factor z k Shorten code coder 604 with the matrix size parameter to LDPC;
3), in Equations of The Second Kind calculator 703, at first calculate
Figure GSB00000817984300226
Then calculate
Figure GSB00000817984300227
Determine z tMagnitude relationship z with element among the Zset K-1<z t≤ z k, z here K-1, z kThe adjacent element of size, then z among the Zset kNeed exactly the spreading factor exported; Calculate m ' b=m b+ Δ m=16+ Δ m, n ' b=n b+ Δ m=32+ Δ m is for (m b=16, n b=32) basis matrix
Figure GSB00000817984300228
Expand,
Figure GSB00000817984300229
Last column and to increase respectively Δ m capable and increase Δ m row in last row back, expansion obtain (m ' b, n ' b) basis matrix
Figure GSB000008179843002210
Based on basis matrix With the spreading factor z that calculates k, by revising, obtain
Figure GSB000008179843002212
With correction matrix
Figure GSB000008179843002213
Spreading factor z kOutput to LDPC with the matrix size parameter and shorten code coder 604, perhaps right
Figure GSB000008179843002214
Expand, obtain parity check matrix H, then export H, spreading factor zk and matrix size parameter and shorten code coder 604 to LDPC; Here, Expression rounds up.
Input message packet buffer 603 is used for the information block of input is carried out buffer-stored and it is outputed to LDPC shortening code coder 604.
LDPC shortens code coder 604, according to basis matrix, spreading factor and the matrix size parameter from the needed correction of matrix parameter calculation element 602 input codings, to encoding from the information block of information block buffer input, generated codeword outputs to next stage deletion code word bit device 605.Such as Fig. 8, LDPC shortens code coder 604 and comprises: interpolation zero bit device 801, (m ' b* z, n ' b* z) the female code coder 802 of LDPC, remove zero bit device 803.The treatment step of described LDPC shortening code coder 604 is as described below:
Input k bit information is grouped into and adds zero bit device 801, input expanding factor z kTo adding zero bit device 801, the female code coder 802 of LDPC and removing zero bit device 803; Before the grouping of k bit information, add x=16z k-K zero bit obtains female yard information block of 16z bit; Above-mentioned female code information block is delivered to (n ' b* z k, 16 * z k) the female code coder 802 of LDPC encodes, and obtains n ' bZ kIndividual female code code word bits; Remove the front x that adds zero bit of female code coding, obtain shortening the rear data of code coder coding; Output is shortened the code code word to deletion code word bit device 605, here k ' b=n ' b-m ' b=k b=16.
Deletion code word bit device 605 is used for input and shortens the code code word; Under the condition of performance that guarantees to delete code, select y=m ' b* z kThe bit that shortens code word on these positions is deleted in-N+K delete position; With N the code word output that obtains after the deletion.
Output codons packet buffer 606 is used for the code word grouping of deletion code word bit device 605 outputs is carried out buffer-stored, final output.
The present invention also provides a kind of production method of LDPC HARQ bag.In the communication technology, automatic repeat request HARQ technology comprises the sending method of transmitter and method of reseptance two parts of receiver.In the sending method of transmitter, each transmission all relates to the HARQ bag and generates, the production method of LDPC HARQ of the present invention bag provides the platform of practical application for flexible low density parity check code design, can fine support steadily increase redundancy mixed automatic retransfer request HARQ.
The production method of LDPC HARQ bag of the present invention may further comprise the steps:
1, grouping generates the female code of LDPC HARQ code word (mother codeword generation) according to input K bit information
In this step, the grouping of input K bit information, lowest bit rate is R under complete steadily increase redundancy condition FIR=1/5, calculate N=K/R FIRIf above-mentioned N value is not integer, also need to round up or round downwards, obtain N FIR, above-mentioned N FIRA female code code word comprise: K information bit, and M FIR=N FIR-K check bit.
Use low density parity check code encoding method and the device of any code check/code length of support of the present invention, the LDPC coding is carried out in grouping to input K bit information, produces N FIRThe bit codewords grouping.
2, the female code of LDPC HARQ code word bits is arranged (mother codeword bits permutation)
In this step, the order of information bit will remain unchanged, and need change check bit order, and purpose is to guarantee that bit is selected to produce the remaining distribution of deleting that code word has optimum in the step 3, and it is optimum to guarantee that namely bit selects to produce codeword performance.
The size that remaining pattern P is deleted in definition is m b, it is by from k bTo n b-1 integer consists of, one of above-mentioned element specific arrangement in the vector.For example, H bSize be m b* n b=16 * 32, arrange vectorial P and be defined as P=[17,19,21,23,25,27,29,31,18,24,22,28,30,20,26,16], P lIndex is the element of l among the vectorial P of expression arrangement, and l is since 0.
If i is for the bit position indices of code word before arranging, in order to realize arrangement mappings, code word bits institute index is j after correspondingly arranging.Following formula represents that the data that will arrange front i position are put into the rear j position of arrangement:
Figure GSB00000817984300241
Wherein, arrange vectorial P index
Figure GSB00000817984300242
Figure GSB00000817984300243
Round under the expression, i, j and l are since 0.
3, LDPC HARQ code word bits is selected (codeword bits selection)
Code word bits is selected to be used for producing the HARQ bag, has to delete function remaining and that repeat.
It is by to step 2 that code word bits is selected) output arrange after code word sequentially select bit sequence, the binary sequence of the HARQ bag that obtains outputs to next processing unit (such as modulator).
Make that k is the index of HARQ bag, reflect the number of transmissions of current HARQ bag, k=0 when transmitting for the first time, k=1 when transmitting for the second time adds 1 for transmit k next time.
N FIRThe length of female code code word.
S K, iThe location index that represents k HARQ bag, being used for identifying current HARQ bag index is the position of i bit, the corresponding S of first bit K, i=0, wherein index i is since 0.
L kThe length that represents k HARQ bag.
Following formula has been described the code word bits selective rule, and right formula result of calculation has identified step 2) bit position of output codons.Following formula represents, code word after bit arrangement, selects the bit of right formula result of calculation position, is put into i bit position of k HARQ bag.
S k , i = ( i ) mod ( N FIR ) k = 0 ( Σ j = 0 k - 1 L j + i ) mod ( N FIR ) k ≠ 0
In a word, the present invention has provided LDPC code encoding method and the device of any code length/code check of support that uses unified coder.New design of the present invention has solved the fatal shortcoming of LDPC code aspect change code length and variable code rate, so that the LDPC code is not being failed the code in turbo aspect the flexibility of code check/code length, and has kept excellent properties.The present invention gives a kind of method of HARQ packet generation of LDPC code, female code code word that the LDPC code encoding method of any code length/code check of above-mentioned support and device can be used for this HARQ packet generation method generates, and has guaranteed that the female code of a new LDPC code word can support complete steadily increase redundancy HARQ well.
Here by specific embodiment the present invention is described in detail, provide the description of above-described embodiment for those skilled in the art being made or being suitable for the present invention, the various modifications of these embodiment are that appearance is intelligible for a person skilled in the art.The present invention is not limited to these examples, or some aspect wherein.Scope of the present invention is elaborated by additional claim.

Claims (15)

1. structured low density parity check code coding method of supporting any code check and any code length, be that the information bit sequence of K is encoded to the random length of input channel encoder, then exporting random length is that N code word bits sequence is to follow-up processing unit, check digit length M=N-K, code check R=K/N, described method comprises the steps:
1) determines a specific code check R 0The female code collection of low density parity check code, it is as R by limited code check that described female code integrates 0The low density parity check code of different code length consists of, the basis matrix that described female code collection has Unified Form
Figure FSB00000927695900011
2) according to the information block length coupling, determine spreading factor, as code check R 〉=R 0The time, spreading factor
Figure FSB00000927695900012
Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, z wherein K-1, z kIt is the adjacent element of size among the Zset; As code check R<R 0The time, spreading factor Perhaps
Figure FSB00000927695900014
Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, wherein, z K-1, z kBe the adjacent element of size among the Zset, the required spreading factor of channel encoder is z k, Zset is greater than zero positive integer z by P 1<z 2<...<z K-1<z k<...<z PThe set that consists of, P is the integer greater than 1; As code check R 〉=R 0The time, by
Figure FSB00000927695900015
With spreading factor z k, by correction algorithm, determine With correction matrix
Figure FSB00000927695900017
Spreading factor z kOutputing to low density parity check code LDPC with the matrix size parameter shortens in the code coder; As code check R<R 0The time,
Figure FSB00000927695900018
Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure FSB00000927695900019
Based on basis matrix
Figure FSB000009276959000110
With spreading factor z k, to basis matrix
Figure FSB000009276959000111
Revise, form correction matrix
Figure FSB000009276959000112
With correction matrix
Figure FSB000009276959000113
Spreading factor z kOutputing to LDPC with the matrix size parameter shortens in the code coder;
Figure FSB000009276959000114
k b=n b-m b, n bThe definite integer greater than 2, m bThe definite integer greater than 1,
Figure FSB000009276959000115
Expression rounds up;
3) as code check R 〉=R 0The time, the required matrix of channel encoder is correction matrix
Figure FSB000009276959000116
The required parameter of channel encoder is spreading factor z kWith the matrix size parameter; As code check R<R 0The time, the required matrix of channel encoder is correction matrix
Figure FSB000009276959000117
The required parameter of channel encoder is spreading factor z kWith the matrix size parameter; Channel encoder is encoded to the K information bit sequence of input according to its needed parameter and matrix, produces the N bit codewords, output codons: as code check R<R 0The time, add x=(k bZ k-K) individual zero bit before K the information bit, the formation needed k that encodes bZ kInformation block; Then carry out ((n b+ Δ m) * z k, k b* z k) the LDPC coding, obtain (n b+ Δ m) * z kIndividual coding codeword bit, for above-mentioned coding codeword, the x that deletion is added zero bit if code word bits number and needed packet size N after the deletion do not mate, then after deletion zero bit, selected correct position, y=(m in the deletion code word b+ Δ m) * z k-N+K bit finally obtains the code word that length is N; As code check R 〉=R 0The time, add x=(k bZ k-K) individual zero bit before K the information bit, the formation needed k that encodes b* z kInformation block; Then carry out (m b* z k, n b* z k) the LDPC coding, obtain m b* z kIndividual check digit, information block and check digit grouping have consisted of n b* z kShorten the code code word, x zero bit that adds shortening the deletion of code code word if code word bits number and needed packet size N after the deletion do not mate, continues deletion y=(m the code word behind above-mentioned deletion zero bit b* z k-N+K) individual bit finally obtains the code word that length is N.
2. the structured low density parity check code coding method of any code check of support according to claim 1 and any code length is characterized in that: in step 1) in,
The female code collection of described low density parity check code has defined P same code rate R 0(N=z * the n of different code length b, K=z * k b) low density parity check code, and basis matrix
Figure FSB00000927695900021
Code check is always arranged R 0 = ( n b - m b ) n b .
3. the structured low density parity check code coding method of any code check of support according to claim 2 and any code length is characterized in that: as code check R<R 0The time,
Figure FSB00000927695900023
Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure FSB00000927695900024
Described expansion method is:
For
Figure FSB00000927695900025
In newly-increased matrix part, satisfy m for any b+ 1≤i≤m b+ Δ m line index i has
H b uniform _ extension ( i , i - m b ) = 0
H b uniform _ extension ( i , i - m b + n b - 1 ) = 0
H b uniform _ extension ( i , i - m b + n b ) = 0
Fill with the element that represents zero square formation other position;
Wherein, i is matrix
Figure FSB00000927695900029
Line index, the ranks index is all since 1.
4. the structured low density parity check code coding method of any code check of support according to claim 2 and any code length is characterized in that: in step B1, described basis matrix expansion method is:
For In newly-increased matrix part, for line index i=m b+ 1, always have
H b uniform _ extension ( i , i - m b ) = 0
H b uniform _ extension ( i , i - m b + 1 ) = 0
H b uniform _ extension ( i , i - m b + n b ) = 0
Fill with the element that represents zero square formation other position;
Satisfy m for any b+ 2≤i≤m b+ Δ m line index i has
H b uniform _ extension ( i , i - m b + 1 ) = 0
H b uniform _ extension ( i , i - m b + n b - 1 ) = 0
H b uniform _ extension ( i , i - m b + n b ) = 0
Fill with the element that represents zero square formation other position;
Wherein, i is matrix
Figure FSB00000927695900038
Line index, the ranks index is all since 1.
5. code device of supporting the low density parity check code of any code check and any code length, channel encoder input information bits sequence is encoded, then the output codons bit sequence is given follow-up processing unit, it is characterized in that, described code device comprises: basis matrix memory, matrix parameter calculator, LDPC shorten code coder, deletion code word bit device, wherein
Described basis matrix memory is used for storing unified m b* n bBasis matrix
Figure FSB00000927695900039
And the output basis matrix is to the matrix parameter calculator;
Described matrix parameter calculator is used for determining spreading factor, as code check R 〉=R 0The time, determine spreading factor z kMethod comprise: spreading factor Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, z wherein K-1, z kThe adjacent element of size among the Zset, k b=n b-m b, n b=N/z t, N presentation code output codons bit length wherein, K presentation code device input information bits length; As code check R<R 0The time, determine that the method for spreading factor zk comprises: spreading factor
Figure FSB000009276959000311
Perhaps
Figure FSB000009276959000312
Determine z tWith element among the Zset the following z of relation is arranged K-1<z t≤ z k, wherein, z K-1, z kIt is the adjacent element of size among the Zset; As code check R 〉=R 0The time, by With spreading factor z kBy correction algorithm, determine
Figure FSB000009276959000314
With correction matrix
Figure FSB000009276959000315
Spreading factor z kOutputing to LDPC with the matrix size parameter shortens in the code coder; As code check R<R 0The time, Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure FSB000009276959000317
Based on basis matrix
Figure FSB00000927695900041
With spreading factor z k, to basis matrix
Figure FSB00000927695900042
Revise, form correction matrix
Figure FSB00000927695900043
With correction matrix Spreading factor z kOutput to LDPC with the matrix size parameter and shorten in the code coder, and produce the needed parameter m of deletion code word bit device b', z k, N and K, K is channel encoder input information bits sequence number, as code check R<R 0The time, establish m b'=m b+ Δ m, n b'=n b+ Δ m,
Figure FSB00000927695900045
Expression rounds up, and R represents actual bit rate;
LDPC shortens code coder, according to matrix and the parameter that described matrix parameter calculator produces, information block encoded, and generated codeword, and output to deletion code word bit device; As code check R<R 0The time, add x=(k bZ-K) individual zero bit is before K the information bit, the formation needed k that encodes bZ kInformation block; Then carry out ((n b+ Δ m) * z k, k b* z k) the LDPC coding, obtain (n b+ Δ m) * z kIndividual coding codeword bit outputs to deletion code word bit device behind x zero bit for this coding codeword deletion interpolation; As code check R 〉=R 0The time, add x=(k bZ k-K) individual zero bit before K the information bit, the formation needed k that encodes b* z kInformation block; Then carry out (m b* z k, n b* z k) the LDPC coding, obtain m b* z kIndividual check digit, information block and check digit grouping have consisted of n b* z kShorten the code code word, output to deletion code word bit device behind x zero bit to this shortening code code word deletion interpolation;
Deletion code word bit device is used for the code word bits that the code word some is shortened in deletion, and the N that will obtain after will deleting code word output: as code check R<R 0The time, if code word bits number and needed packet size N after the deletion do not mate, then after deletion zero bit, select correct position, y=(m in the deletion code word b+ Δ m) * z k-N+K bit finally obtains the code word that length is N; As code check R 〉=R 0The time, if code word bits number and needed packet size N after the deletion do not mate, behind above-mentioned deletion zero bit, continue deletion y=(m the code word b* z k-N+K) individual bit finally obtains the code word that length is N.
6. the code device of the low density parity check code of any code check of support according to claim 5 and any code length is characterized in that:
Described matrix parameter calculator also is used for as code check R 〉=R 0The time,
To correction matrix
Figure FSB00000927695900047
Expand, form parity check matrix H, then export parity check matrix H, spreading factor z kShorten code coder with the matrix size parameter to LDPC.
7. the code device of the low density parity check code of any code check of support according to claim 5 and any code length is characterized in that:
Described matrix parameter calculator also is used for as code check R<R 0The time,
To correction matrix Expand, form parity check matrix H, then export parity check matrix H, spreading factor z kShorten code coder with the matrix size parameter to LDPC.
8. the code device of the low density parity check code of any code check of support according to claim 5 and any code length, it is characterized in that, described code device further comprises an input message packet buffer, is used for the information block of input is carried out buffer-stored and it is outputed to LDPC shortening code coder.
9. the code device of the low density parity check code of any code check of support according to claim 5 and any code length, it is characterized in that, described code device further comprises an output codons packet buffer, is used for buffer-stored and output are carried out in the code word grouping of deletion code word bit device output.
10. the code device of the low density parity check code of any code check of support according to claim 5 and any code length is characterized in that: as R 〉=R 0, described LDPC shortens code coder, comprises (a m b' * z k, n b' * z k) the female code coder of LDPC, one add zero bit device, one and remove zero bit device, establishes input K information bit sequence and spreading factor z k, wherein,
One is added zero bit device, is used for adding x=k before the K information bit sequence bZ k-k zero bit obtains k bZ kThe coding information needed grouping of individual bit outputs to the female code coder of LDPC;
(m b' * z k, n b' * z k) the female code coder of LDPC, according to basis matrix and the spreading factor of input above-mentioned coding information needed grouping is encoded, perhaps according to the parity matrix of input above-mentioned coding information needed grouping is encoded, obtain n b' z kIndividual female code code word bits outputs to and removes zero bit device;
Remove zero bit device for one, front x zero bit obtains shortening the code code word in female code code word of deletion input; Output is shortened the code code word to deletion code word bit device;
11. the code device of the coding method of an application rights requirement 1 or application rights requirement 6 produces the method for the mixed automatic retransfer request HARQ bag of low density parity check code, said method comprising the steps of:
C1), generate the female code of LDPC HARQ code word according to input K information bit sequence;
C2), the female code of a LDPC HARQ code word bits is arranged, wherein, keep the order of information bit, change the check bit order;
C3), select LDPC HARQ code word bits, by to step C2) output arrange after code word sequentially select successively bit sequence, namely for the first time transmission is from the first systematic bit, the starting position of each transmission is immediately following the position of the last end of transmission later on, the binary sequence of the HARQ bag that finally obtains outputs to next processing unit.
12. method according to claim 11 is characterized in that, in step C1,
The K information bit sequence of input is that lowest bit rate is R under complete steadily increase redundancy condition FIRSituation under input, wherein, R FIRGiven by system, N FIR=K/R FIR, for above-mentioned N FIRFemale code code word, the front is K information bit, the back is M FIR=N FIR-K check bit.
13. method according to claim 11 is characterized in that, in step C1, the female code of LDPC HARQ code word generates and may further comprise the steps:
1) determines a specific code check R 0The female code collection of low density parity check code, it is as R by limited code check that described female code integrates 0The low density parity check code of different code length consists of, the basis matrix that described female code collection has Unified Form Wherein, the random length of channel encoder input is the K information bit sequence, and the output random length is N code word bits sequence, check digit length M=N-K, code check R=K/N;
2) according to the information block length coupling, determine spreading factor; According to described spreading factor and basis matrix
Figure FSB00000927695900062
By shortening or deleting remaining or expansion, determine the needed parameter of encoder and matrix: as code check R 〉=R 0The time, by
Figure FSB00000927695900063
With spreading factor z k, by correction algorithm, determine
Figure FSB00000927695900064
With correction matrix
Figure FSB00000927695900065
Spreading factor z kOutputing to low density parity check code LDPC with the matrix size parameter shortens in the code coder; As code check R<R 0The time,
Figure FSB00000927695900066
Last column and last row increase respectively the capable and Δ m of Δ m row, expansion obtains (m b+ Δ m) * (n b+ Δ m) basis matrix
Figure FSB00000927695900067
Based on basis matrix
Figure FSB00000927695900068
With spreading factor z k, to basis matrix
Figure FSB00000927695900069
Revise, form correction matrix With correction matrix
Figure FSB000009276959000611
Spreading factor z kOutputing to LDPC with the matrix size parameter shortens in the code coder;
3) channel encoder is encoded to the K information bit sequence of input according to the needed parameter of channel encoder and matrix, produces the N bit codewords, output codons: as code check R<R 0The time, add x=(k bZ k-K) individual zero bit before K the information bit, the formation needed k that encodes bZ kInformation block; Then carry out ((n b+ Δ m) * z k, k b* z k) the LDPC coding, obtain (n b+ Δ m) * z kIndividual coding codeword bit, for above-mentioned coding codeword, the x that deletion is added zero bit if code word bits number and needed packet size N after the deletion do not mate, then after deletion zero bit, selected correct position, y=(m in the deletion code word b+ Δ m) * z k-N+K bit finally obtains the code word that length is N; As code check R 〉=R 0The time, add x=(k bZ k-K) individual zero bit before K the information bit, the formation needed k that encodes b* z kInformation block; Then carry out (m b* z k, n b* z k) the LDPC coding, obtain m b* z kIndividual check digit, information block and check digit grouping have consisted of n b* z kShorten the code code word, x zero bit that adds shortening the deletion of code code word if code word bits number and needed packet size N after the deletion do not mate, continues deletion y=(m the code word behind above-mentioned deletion zero bit b* z k-N+K) individual bit finally obtains the code word that length is N.
14. method according to claim 11 is characterized in that, in step C2, the arrangement of LDPC HARQ mother code code word bits is based on following formula and arranges, the data of arranging front i position are put into arrange rear j position,
Figure FSB00000927695900071
Wherein,
Figure FSB00000927695900072
Round under the expression, i, j and 1 are since 0; I is the bit position indices of code word before arranging, and j is the bit position indices of code word after arranging; P deletes remaining pattern, and size is m bVector, be by from k bTo n b-1 integer consists of, the predefined arrangement that above-mentioned element forms.
15. method according to claim 11, it is characterized in that, in step C3, the code word bits selective rule is based on following formula and selects, code word after bit arrangement, select the bit according to the resulting as a result position of described formula, be put into i bit position of k HARQ bag
S k , i = ( i ) mod ( N FIR ) k = 0 ( Σ j = 0 k - 1 L j + i ) mod ( N FIR ) k ≠ 0
Wherein, k is the index of HARQ bag, reflects the number of transmissions of current HARQ bag, k=0 when transmitting for the first time, and k=1 when transmitting for the second time adds 1 for transmit k next time;
N FIRThe length of female code code word;
S K, iThe location index that represents k HARQ bag, being used for identifying current HARQ bag index is the bit position of i, the corresponding S of first bit K, i=0 (i=0), wherein i is since 0;
L kThe length that represents k HARQ bag.
CN 200710072808 2007-01-01 2007-01-01 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat Active CN101217337B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710072808 CN101217337B (en) 2007-01-01 2007-01-01 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710072808 CN101217337B (en) 2007-01-01 2007-01-01 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat

Publications (2)

Publication Number Publication Date
CN101217337A CN101217337A (en) 2008-07-09
CN101217337B true CN101217337B (en) 2013-01-23

Family

ID=39623707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710072808 Active CN101217337B (en) 2007-01-01 2007-01-01 A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat

Country Status (1)

Country Link
CN (1) CN101217337B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194337A (en) * 2013-11-11 2019-01-11 华为技术有限公司 A kind of Polar code encoding method, device

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848594B2 (en) 2008-12-10 2014-09-30 Blackberry Limited Method and apparatus for discovery of relay nodes
US8040904B2 (en) 2008-12-17 2011-10-18 Research In Motion Limited System and method for autonomous combining
US8402334B2 (en) 2008-12-17 2013-03-19 Research In Motion Limited System and method for hybrid automatic repeat request (HARQ) functionality in a relay node
US8311061B2 (en) 2008-12-17 2012-11-13 Research In Motion Limited System and method for multi-user multiplexing
US8335466B2 (en) 2008-12-19 2012-12-18 Research In Motion Limited System and method for resource allocation
US8265128B2 (en) 2008-12-19 2012-09-11 Research In Motion Limited Multiple-input multiple-output (MIMO) with relay nodes
US8446856B2 (en) 2008-12-19 2013-05-21 Research In Motion Limited System and method for relay node selection
CN102065523B (en) * 2009-11-18 2014-03-12 华为技术有限公司 Method for transmitting information according to target coding rate and base station
CN102412842B (en) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 The coded method of a kind of low density parity check code and device
TWI562560B (en) * 2011-05-09 2016-12-11 Sony Corp Encoder and encoding method providing incremental redundancy
US8914706B2 (en) 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US8683296B2 (en) 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
CN104868925B (en) * 2014-02-21 2019-01-22 中兴通讯股份有限公司 Coding method, interpretation method, code device and the code translator of structured LDPC code
CN107404322B (en) * 2014-09-17 2020-10-16 上海数字电视国家工程研究中心有限公司 Check matrix for low-code-rate LDPC code and LDPC codeword
KR102325951B1 (en) * 2015-03-02 2021-11-12 삼성전자주식회사 Transmitter and shortening method thereof
CN106160937B (en) 2015-04-15 2019-01-04 中兴通讯股份有限公司 A kind of method and device for realizing code block segmentation
WO2016184493A1 (en) * 2015-05-18 2016-11-24 Huawei Technologies Co., Ltd. Multi-rate ldpc encoding and decoding with different code lengths using one multi-rate exponent table and one expansion factor
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
CN109155772A (en) * 2016-05-11 2019-01-04 Idac控股公司 Code domain non-orthogonal multiple scheme
WO2017193558A1 (en) 2016-05-13 2017-11-16 中兴通讯股份有限公司 Data processing method and device for structured ldpc code
WO2017193614A1 (en) * 2016-05-13 2017-11-16 中兴通讯股份有限公司 Encoding method and device and decoding method and device for structured ldpc
CN107370489B (en) * 2016-05-13 2020-07-28 中兴通讯股份有限公司 Data processing method and device for structured L DPC code
CN116827357A (en) 2016-05-13 2023-09-29 中兴通讯股份有限公司 Method and device for encoding and decoding structured low-density parity check code LDPC
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
CN107733439B (en) * 2016-08-11 2020-02-07 电信科学技术研究院 LDPC (Low Density parity check) coding method, coding device and communication equipment
CN107733442B (en) * 2016-08-12 2022-12-02 中兴通讯股份有限公司 Method and device for processing structured LDPC code
CN107733440B (en) * 2016-08-12 2022-12-02 中兴通讯股份有限公司 Polygonal structured LDPC processing method and device
US10804933B2 (en) * 2016-09-30 2020-10-13 Lg Electronics Inc. QC LDPC code rate matching method and device therefor
CN107947896B (en) * 2016-10-13 2020-10-27 普天信息技术有限公司 Information transmission method and device
CN108023663B (en) * 2016-11-01 2021-04-13 武汉芯泰科技有限公司 Deleting method and device based on configurable deleting table
CN108023677B (en) * 2016-11-03 2020-12-08 华为技术有限公司 Information processing method and device and wireless communication equipment
CN108270448B (en) * 2017-01-04 2022-11-15 中兴通讯股份有限公司 Quasi-cyclic low-density parity check coding method and device
CN108289006B (en) * 2017-01-09 2021-07-16 上海诺基亚贝尔股份有限公司 Method and apparatus for data processing in a communication system
CN109450591B (en) * 2017-03-24 2020-01-17 华为技术有限公司 Coding method and device
SG11202009379VA (en) 2017-03-24 2020-10-29 Zte Corp Processing method and device for quasi-cyclic low density parity check coding
CN115065368A (en) * 2017-03-24 2022-09-16 中兴通讯股份有限公司 Quasi-cyclic low-density parity check coding processing method and device
CN108809509B (en) 2017-05-05 2021-01-22 电信科学技术研究院 Method and device for selecting basic diagram of low-density parity check code
US10680646B2 (en) 2017-05-12 2020-06-09 Qualcomm Incorporated Row orthogonality in LDPC rate compatible design
WO2018218466A1 (en) * 2017-05-28 2018-12-06 华为技术有限公司 Information processing method and communication device
EP3624350A4 (en) * 2017-06-03 2020-06-17 Huawei Technologies Co., Ltd. Information processing method and communication device
CN109150375A (en) 2017-06-16 2019-01-04 华为技术有限公司 A kind of coding method, wireless device and chip
CN115801191A (en) * 2017-06-26 2023-03-14 中兴通讯股份有限公司 Quasi-cyclic low-density parity check code design method and device
CN109327225B9 (en) * 2017-06-27 2021-12-10 华为技术有限公司 Information processing method and device and communication equipment
CN107181576B (en) * 2017-07-07 2020-02-21 西安电子科技大学 IR-HARQ transmission method suitable for LDPC code in 5G
CN107248904B (en) * 2017-07-31 2020-04-17 北京理工大学 LDPC code error control method based on joint coding
CN109756307B (en) 2017-11-02 2020-11-17 华为技术有限公司 Data retransmission method and device
CN108449090B (en) * 2018-01-25 2020-06-16 西安电子科技大学 LDPC decoder capable of configuring multiple code lengths and multiple code rates
US20220200729A1 (en) * 2019-04-04 2022-06-23 Apple Inc. Apparatus and method for determining the content of a retransmission
CN117081607B (en) * 2023-08-30 2024-03-19 白盒子(上海)微电子科技有限公司 NR LDPC partial check matrix coding and decoding indication information acquisition method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604216B1 (en) * 1999-12-10 2003-08-05 Telefonaktiebolaget Lm Ericsson Telecommunications system and method for supporting an incremental redundancy error handling scheme using available gross rate channels
EP1596501A1 (en) * 2004-05-12 2005-11-16 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
CN1714512A (en) * 2002-11-18 2005-12-28 高通股份有限公司 Rate-compatible low-density parity-check (LDPC) codes
CN1808955A (en) * 2005-01-23 2006-07-26 中兴通讯股份有限公司 Non-regular low intensity parity code based coder and its creation method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604216B1 (en) * 1999-12-10 2003-08-05 Telefonaktiebolaget Lm Ericsson Telecommunications system and method for supporting an incremental redundancy error handling scheme using available gross rate channels
CN1714512A (en) * 2002-11-18 2005-12-28 高通股份有限公司 Rate-compatible low-density parity-check (LDPC) codes
EP1596501A1 (en) * 2004-05-12 2005-11-16 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
CN1808955A (en) * 2005-01-23 2006-07-26 中兴通讯股份有限公司 Non-regular low intensity parity code based coder and its creation method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194337A (en) * 2013-11-11 2019-01-11 华为技术有限公司 A kind of Polar code encoding method, device
CN109194337B (en) * 2013-11-11 2019-08-27 华为技术有限公司 A kind of Polar code encoding method, device

Also Published As

Publication number Publication date
CN101217337A (en) 2008-07-09

Similar Documents

Publication Publication Date Title
CN101217337B (en) A low density parity code encoding device and method supporting incremental redundancy hybrid automatic repeat
CN101005334B (en) Method for forming mixed automatic request re-sending packet of low density parity check code
CN101325474B (en) Method for encoding channel of mixed automatic request retransmission and modulation mapping of LDPC code
CN100502245C (en) A coding device and method for low density parity check code of supporting any code rate/code length
KR100929079B1 (en) Decoding Apparatus and Method of Communication System Using Low Density Parity Check Code
KR100856235B1 (en) Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
US8578249B2 (en) LDPC encoding and decoding of packets of variable sizes
CN101453297B (en) Encoding method and apparatus for low density generation matrix code, and decoding method and apparatus
CN101821980B (en) Method of transmitting data
CN101572554B (en) Method and device for generating code-rate-compatible LDPC codes and HARQ scheme
US20060190801A1 (en) Apparatus and method for generating low density parity check code using zigzag code in a communication system
EP1746732A1 (en) Retransmission control method and communication device
EP3335321A1 (en) Rate-compatible polar codes
US20070162822A1 (en) Apparatus and method for transmitting/receiving signal supporting variable coding rate in a communication system
CN113826327A (en) Method and apparatus for decoding data in a communication or broadcast system
Vakilinia et al. Optimizing transmission lengths for limited feedback with nonbinary LDPC examples
CN101321043B (en) Decoding method and device for low density check code
WO2006070836A1 (en) Data retransmission method
CN1756090B (en) Channel encoding apparatus and method
CN101383618B (en) Encoding method for cyclic redundancy check code of transmission block
CN107306140A (en) A kind of GEL codeword structures coding and method, device and the relevant device of decoding
CN101436918B (en) Channel encoding method, apparatus and system for structured low density parity check code
CN113541871A (en) Method for generating code words and coder-decoder
KR20070020039A (en) Retransmission control method and communication device
Dholakia et al. Variable-Redundancy Error Control Schemes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant