CN103944673A - Low-delay progressive decoding method suitable for rateless codes - Google Patents
Low-delay progressive decoding method suitable for rateless codes Download PDFInfo
- Publication number
- CN103944673A CN103944673A CN201410135606.6A CN201410135606A CN103944673A CN 103944673 A CN103944673 A CN 103944673A CN 201410135606 A CN201410135606 A CN 201410135606A CN 103944673 A CN103944673 A CN 103944673A
- Authority
- CN
- China
- Prior art keywords
- decoding
- node
- check
- value
- represent
- 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.)
- Granted
Links
Landscapes
- Error Detection And Correction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a low-delay progressive decoding method suitable for rateless codes. According to the method, a serial BP decoding algorithm with verification nodes as a decoding sequence is adopted, the decoding complexity is halved compared with that of a common BP decoding algorithm, decoding is started earlier, a result of fore decoding is utilized in latter decoding, and the method is quite suitable for the flow attribute of the rateless codes. In addition, according to the method, parallel execution is carried out on the linear operation in the BP decoding process by adopting a function based on SSE instruction set optimization, different code data are decoded by starting multiple threads, and the parallel computing power of a CPU is fully utilized. Furthermore, a table look-up method is adopted in complex nonlinear function calculation, the complexity of the decoding operation is further reduced, and thus the delay of the decoding of the rateless codes is lowered and minimized.
Description
Technical field
The present invention relates to the communications field without speed decoding technique, relate in particular to a kind of progressive interpretation method of low time delay of applicable no-rate codes.
Background technology
General chnnel coding, when design, is first estimated channel parameter according to channel condition information conventionally, is fixed as the channel error correction coding (obtain n output symbol by k incoming symbol, code check is R=k/n) of R according to code check of channel parameter design.When the channel parameter of estimating is greater than actual channel parameter, although can realize transmitting, caused the waste of transmission, because now can use the channel error correction coding of higher code check; When the channel parameter of estimating is less than actual channel parameter, can not realize transmitting, now need the channel error correction coding of lower code check.And many times, channel still changes at any time or cannot judge in advance, these traditional codings just seemed and were difficult to deal with this time.So there is the no-rate codes that code check is variable.For no-rate codes, the coded data packet being produced by initial data produces continually along with cataloged procedure, the amount doesn't matter according to the needs of decoding, as long as guarantee decoding success.The code check of actual transmissions depends on the encoded packets number of actual transmission, needs the encoded packets number sending to depend on channel conditions at that time.
No-rate codes has three important property: 1) adaptive link rate adapted: its final speed is decided by the characteristic of channel, need to before transmission, not estimate the characteristic of channel and cbr (constant bit rate), and the code check of actual transmissions depends on channel conditions at that time.2) without speed attribute (stream attribute): transmitting terminal is output encoder bag endlessly, form one can Hold coding packet flow, and without any rate constraint; 3) bucket ponding effect: receiving terminal is constantly collected encoded packets, collects abundant encoded packets and can recover all raw data packets.Three important property just because of no-rate codes, make it at broadcast channel, cognition, and Internet Transmission, the larger various aspects such as communication situation of feedback cost are with a wide range of applications.
The decoding algorithm that no-rate codes is conventional has limit null method and BP(to put information) decoding algorithm.Because limit null method is only applicable to except deleting channel, what generally adopt is BP decoding algorithm.To conventional BP decoding algorithm, the process of an iteration be for, first to all limits, upgrade the information of putting that passes to check-node from variable node; Then to all limits, upgrade the information of putting of the node from check-node to variable; Then calculate the information of the putting sum of all variable nodes, and variable node is carried out to hard decision; Judge whether the variable node after hard decision meets verification relation, if meet or surpass maximum iteration time, finish decoding, otherwise proceed next round iteration.Due to upgrade check-node pass to variable node put information time, can relate to the multiplication and division computing of more complicated, so the complexity of BP decoding algorithm is relatively high.Conventionally BP decoding is all to complete by hardware.Someone had proposed new serial BP decoding algorithm afterwards.Serial BP decoding algorithm be take variable node or check-node and is put information as sequential update.Than common BP decoding algorithm, serial BP decoding algorithm is at every iteration complexity of taking turns identical in the situation that, and iterations will reduce half.
No-rate codes, in actual application, if decoding is carried out by CPU computing, even if adopted serial BP decoding algorithm, still exists decoding delay to be called the bottleneck of system throughput at present.Under special lower signal to noise ratio, because the iterations of BP decoding is more, add and in the process of iteration, have complicated nonlinear operation, cause decoding delay very large, seriously limited the throughput efficiency of system.
Summary of the invention
The object of the invention is for the deficiencies in the prior art, a kind of progressive interpretation method of low time delay of applicable no-rate codes is provided.
The object of the invention is to be achieved through the following technical solutions: a kind of progressive interpretation method of low time delay of applicable no-rate codes, serial BP decoding, progressive decoding, function parallel processing, look-up table and multithreading treatment technology based on the optimization of SSE instruction set have been adopted, the no-rate codes that this invention adopts is Raptor code, establishes v
irepresent i variable node, c
jrepresent j check-node; Ω (c
j) represent and c
jthe all variable nodes that are connected, C
ji represent to remove v
ioutside other and c
jthe set of connected variable node; Ω (v
i) represent and v
ithe all check-nodes that are connected, use L
ch(v
i) expression v
ithe initial LLR information that comes from channel, defined variable node v
ito check-node c
jthe LLR information of transmitting is L (q
ij), check-node c
jto variable node v
ithe LLR information of transmitting is L (r
ji), one time iteration finishes rear variable node v
ilLR information sum be Q
i.If N
threadrepresent the number of threads of opening, the progressive interpretation method of low time delay that is applicable to no-rate codes is specific as follows:
1) receiving terminal constantly receives new encoded packets, if current code check lower than channel capacity, continues to wait for, receives new encoded packets, otherwise, enter step 2);
2) if decoding thread is also not activated or finishes, start N
threadindividual serial BP decoding thread, to adding for the first time the LLR information sum Q of the variable node of decoding
icarry out initialization as follows:
current iterations is set to 0, decoding Tanner figure is grown into size corresponding to the current encoded packets of receiving, enter 3);
3) each decoding thread, carries out the decoding of serial BP decoding algorithm to different coded datas, and decode procedure is as follows:
A) judge whether current iterations reaches maximum iteration time; If so, decoding finishes; Otherwise enter b);
B) press check-node order, from first check-node to last check-node by step c) and d) upgrade successively LLR information, then enter e);
C) to j check-node c
j, upgrade and c
jthe all variable nodes that are connected are taken turns and in iteration, are passed to c at this
jlLR information { L (qi
j) }:
To all v
i∈ Ω (c
j) calculate L (q
ij)=Q
i-L (r
ji), Q
i=Q
i-L (r
ji).Enter d);
D) upgrade check-node c
jpass to the LLR information { L (r of all variable nodes that are attached thereto
ji) and variable node LLR sum { Q
i}:
To all v
i∈ Ω (c
j),
q
i=Q
i+ L (r
ji);
α wherein
ij=sign[L (q
ij)], sign[L (q
ij)] expression L (q
ij) symbol, β
ij=| L (q
ij) |,
here
value be to calculate by look-up table, ∏ represents to connect and takes advantage of, v
i'represent set C
jany variable node in i.
E) all variable nodes of LDPC code part are carried out to hard decision:
Enter f);
the hard decision value that represents variable node;
F) judge whether court verdict meets verification and be 0.If meet verification relation, decoding finishes, and finishes decoding thread; Otherwise iterations adds 1, return a).
Further, step 3) steps d of the inside),
calculating be by each circuit-switched data is carried out to computation of table lookup.Due to
function successively decreases rapidly along with the increase of x, and x maximum is got to 6; The present invention's design
function form is 0.01 by step footpath, has calculated [0,6] scope
value, and is normalized to 100 times, and x surpasses 6
functional value gets 0.Therefore the LLR value of information of iteration is also all normalized to 100 times; In addition due to
actual value be infinitely great, need to be with a larger value representation;
the selection principle of value is to prevent { Q
ilarge as much as possible under the prerequisite of overflowing.The present invention chooses
value is 760.
Further, step 3) the step c of the inside) and steps d) plus and minus calculation be all the function parallel processing of optimizing based on SSE instruction set by using.
The invention has the beneficial effects as follows: the function method for parallel processing that the present invention uses serial BP decoding algorithm, progressive interpretation method, multithreading processing, look-up table and optimizes based on SSE instruction set, not only can well adapt to the transmission method of no-rate codes, and there is lower decoding delay.
Accompanying drawing explanation
Fig. 1 is the Tanner figure schematic diagram of Raptor code;
Embodiment
Below in conjunction with accompanying drawing, further illustrate the present invention.
The progressive interpretation method of low time delay of a kind of applicable no-rate codes of the present invention, serial BP decoding, progressive decoding, function parallel processing, look-up table and multithreading treatment technology based on the optimization of SSE instruction set have been adopted, the no-rate codes that this invention adopts is Raptor code, establishes v
irepresent i variable node, c
jrepresent j check-node; Ω (c
j) represent and c
jthe all variable nodes that are connected, C
ji represent to remove v
ioutside other and c
jthe set of connected variable node; Ω (v
i) represent and v
ithe all check-nodes that are connected, use L
ch(v
i) expression v
ithe initial LLR information that comes from channel, defined variable node v
ito check-node c
jthe LLR information of transmitting is L (q
ij), check-node c
jto variable node v
ithe LLR information of transmitting is L (r
ji), one time iteration finishes rear variable node v
ilLR information sum be Q
i.If N
threadrepresent the number of threads of opening, the progressive interpretation method of low time delay that is applicable to no-rate codes is specific as follows:
1) receiving terminal constantly receives new encoded packets, if current code check lower than channel capacity, continues to wait for, receives new encoded packets, otherwise, enter step 2);
2) if decoding thread is also not activated or finishes, start N
threadindividual serial BP decoding thread, to adding for the first time the LLR information sum Q of the variable node of decoding
icarry out initialization as follows:
current iterations is set to 0, decoding Tanner figure is grown into size corresponding to the current encoded packets of receiving, enter 3);
3) each decoding thread, carries out the decoding of serial BP decoding algorithm to different coded datas, and decode procedure is as follows:
A) judge whether current iterations reaches maximum iteration time; If so, decoding finishes; Otherwise enter b);
B) press check-node order, from first check-node to last check-node by step c) and d) upgrade successively LLR information, then enter e);
C) to j check-node c
j, upgrade and c
jthe all variable nodes that are connected are taken turns and in iteration, are passed to c at this
jlLR information { L (q
ij) }:
To all v
i∈ Ω (c
j) calculate L (q
ij)=Q
i-L (r
ji), Q
i=Q
i-L (r
ji).Enter d);
D) upgrade check-node c
jpass to the LLR information { L (r of all variable nodes that are attached thereto
ji) and variable node LLR sum { Q
i}:
To all v
i∈ Ω (c
j),
q
i=Q
i+ L (r
ji);
α wherein
ij=sign[L (q
ij)], sign[L (q
ij)] expression L (q
ij) symbol, β
ij=| L (q
ij) |,
here
value be to calculate by look-up table, ∏ represents to connect and takes advantage of, v
i'represent set C
jany variable node in i.
E) all variable nodes of LDPC code part are carried out to hard decision:
Enter f);
the hard decision value that represents variable node;
F) judge whether court verdict meets verification and be 0.If meet verification relation, decoding finishes, and finishes decoding thread; Otherwise iterations adds 1, return a).
Further, step 3) steps d of the inside),
calculating be by each circuit-switched data is carried out to computation of table lookup.Due to
function successively decreases rapidly along with the increase of x, and x maximum is got to 6; The present invention's design
function form is 0.01 by step footpath, has calculated [0,6] scope
value, and is normalized to 100 times, and x surpasses 6
functional value gets 0.Therefore the LLR value of information of iteration is also all normalized to 100 times; In addition due to
actual value be infinitely great, need to be with a larger value representation;
the selection principle of value is to prevent { Q
ilarge as much as possible under the prerequisite of overflowing.The present invention chooses
value is 760.
Further, step 3) the step c of the inside) and steps d) plus and minus calculation be all the function parallel processing of optimizing based on SSE instruction set by using.
Claims (3)
1. the progressive interpretation method of low time delay of an applicable no-rate codes, it is characterized in that, the method has adopted serial BP decoding, progressive decoding, function parallel processing, look-up table and multithreading treatment technology based on the optimization of SSE instruction set, and the no-rate codes that this invention adopts is Raptor code, establishes v
irepresent i variable node, c
jrepresent j check-node; Ω (c
j) represent and c
jthe all variable nodes that are connected, C
ji represent to remove v
ioutside other and c
jthe set of connected variable node; Ω (v
i) represent and v
ithe all check-nodes that are connected, use L
ch(v
i) expression v
ithe initial LLR information that comes from channel, defined variable node v
ito check-node c
jthe LLR information of transmitting is L (q
ij), check-node c
jto variable node v
ithe LLR information of transmitting is L (r
ji), one time iteration finishes rear variable node v
ilLR information sum be Q
i, establish N
threadrepresent the number of threads of opening, the progressive interpretation method of low time delay that is applicable to no-rate codes is specific as follows:
1) receiving terminal constantly receives new encoded packets, if current code check lower than channel capacity, continues to wait for, receives new encoded packets, otherwise, enter step 2);
2) if decoding thread is also not activated or finishes, start N
threadindividual serial BP decoding thread, to adding for the first time the LLR information sum Q of the variable node of decoding
icarry out initialization as follows:
current iterations is set to 0, decoding Tanner figure is grown into size corresponding to the current encoded packets of receiving, enter 3);
3) each decoding thread, carries out the decoding of serial BP decoding algorithm to different coded datas, and decode procedure is as follows:
A) judge whether current iterations reaches maximum iteration time; If so, decoding finishes; Otherwise enter b);
B) press check-node order, from first check-node to last check-node by step c) and d) upgrade successively LLR information, then enter e);
C) to j check-node c
j, upgrade and c
jthe all variable nodes that are connected are taken turns and in iteration, are passed to c at this
jlLR information { L (q
ij) }:
To all v
i∈ Ω (c
j) calculate L (q
ij)=Q
i-L (r
ji), Q
i=Q
i-L (r
ji), enter d);
D) upgrade check-node c
jpass to the LLR information { L (r of all variable nodes that are attached thereto
ji) and variable node LLR sum { Q
i}:
To all v
i∈ Ω (c
j),
q
i=Q
i+ L (r
ji);
α wherein
ij=sign[L (q
ij)], sign[L (q
ij)] expression L (q
ij) symbol, β
ij=| L (q
ij) |,
here
value be to calculate by look-up table, ∏ represents to connect and takes advantage of, v
i'represent set C
jany variable node in i;
E) all variable nodes of LDPC code part are carried out to hard decision:
Enter f);
the hard decision value that represents variable node;
F) judge whether court verdict meets verification and be 0, if meet verification relation, decoding finishes, and finishes decoding thread; Otherwise iterations adds 1, return a).
2. the progressive interpretation method of low time delay of a kind of applicable no-rate codes according to claim 1, is characterized in that step 3) the inside steps d),
calculating be by each circuit-switched data is carried out to computation of table lookup, due to
function successively decreases rapidly along with the increase of x, and x maximum is got to 6; The present invention's design
function form is 0.01 by step footpath, has calculated [0,6] scope
value, and is normalized to 100 times, and x surpasses 6
functional value gets 0, so the LLR value of information of iteration is also all normalized to 100 times; In addition due to
actual value be infinitely great, need to be with a larger value representation;
the selection principle of value is to prevent { Q
ilarge as much as possible under the prerequisite of overflowing, the present invention chooses
value is 760.
3. the progressive interpretation method of low time delay of a kind of applicable no-rate codes according to claim 1, is characterized in that step 3) the step c of the inside) and steps d) plus and minus calculation be all the function parallel processing of optimizing based on SSE instruction set by using.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410135606.6A CN103944673B (en) | 2014-04-04 | 2014-04-04 | A kind of low time delay progressive interpretation method of suitable no-rate codes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410135606.6A CN103944673B (en) | 2014-04-04 | 2014-04-04 | A kind of low time delay progressive interpretation method of suitable no-rate codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103944673A true CN103944673A (en) | 2014-07-23 |
CN103944673B CN103944673B (en) | 2017-11-03 |
Family
ID=51192180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410135606.6A Active CN103944673B (en) | 2014-04-04 | 2014-04-04 | A kind of low time delay progressive interpretation method of suitable no-rate codes |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103944673B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935411A (en) * | 2015-06-18 | 2015-09-23 | 浙江大学 | Rateless code joint degree dynamic decoding method based on diversity |
CN106911621A (en) * | 2017-01-03 | 2017-06-30 | 浙江大学 | A kind of channel equalization and tracking based on V OFDM |
CN109450594A (en) * | 2018-10-11 | 2019-03-08 | 浙江工业大学 | The no-rate codes degree distribution optimization method of cloud access network uplink |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202549A (en) * | 2007-08-14 | 2008-06-18 | 东南大学 | Method for improving standard degree of confidence propagation decoding performance |
-
2014
- 2014-04-04 CN CN201410135606.6A patent/CN103944673B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202549A (en) * | 2007-08-14 | 2008-06-18 | 东南大学 | Method for improving standard degree of confidence propagation decoding performance |
Non-Patent Citations (3)
Title |
---|
NAZANIN RAHNAVARD: "Rateless Codes With Unequal Error Protection Property", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 * |
吕谷: "深空通信中喷泉码编译码算法研究", 《中国优秀硕士学位论文全文数据库》 * |
吴可镝: "无线通信***中无速率码的编译码技术与应用研究", 《中国博士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935411A (en) * | 2015-06-18 | 2015-09-23 | 浙江大学 | Rateless code joint degree dynamic decoding method based on diversity |
CN104935411B (en) * | 2015-06-18 | 2018-03-06 | 浙江大学 | A kind of no-rate codes joint number of degrees dynamic decoding method based on diversity |
CN106911621A (en) * | 2017-01-03 | 2017-06-30 | 浙江大学 | A kind of channel equalization and tracking based on V OFDM |
CN106911621B (en) * | 2017-01-03 | 2020-01-21 | 浙江大学 | Channel equalization and tracking method based on V-OFDM |
CN109450594A (en) * | 2018-10-11 | 2019-03-08 | 浙江工业大学 | The no-rate codes degree distribution optimization method of cloud access network uplink |
CN109450594B (en) * | 2018-10-11 | 2021-01-19 | 浙江工业大学 | Rate-free code degree distribution optimization method for uplink of cloud access network |
Also Published As
Publication number | Publication date |
---|---|
CN103944673B (en) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105187073B (en) | A kind of the BP interpretation methods and device of polarization code | |
CN107395324B (en) | Low-decoding-complexity rate-matching polarization code transmission method based on QUP method | |
CN109586730A (en) | It is a kind of based on the polarization code BP decoding algorithm intelligently post-processed | |
CN101695016B (en) | Multi-user random access system based on rateless codes and coding and decoding method thereof | |
CN107911195B (en) | CVA-based tail-biting convolutional code channel decoding method | |
CN108039891B (en) | Polarization code BP decoding method and device based on multistage updating process | |
CN101425871B (en) | Multi-element error correcting code transmitting and receiving apparatus, data communication system and related method | |
CN1770641A (en) | Minimal sum decoding method based on grading excursion correction | |
CN102064917B (en) | Demodulation decoding method for LDPC (Low Density Parity Code) modulation system | |
CN105356971A (en) | SCMA decoder based on probability calculation | |
CN106254030B (en) | Two-way coding and decoding method without rate Spinal code | |
CN104954099B (en) | The optimum design method without rate code is accumulated under decoding iteration count constraint | |
CN104092468A (en) | LDPC linear programming decoding method based on acceleration alternating direction multiplier method | |
CN103944673A (en) | Low-delay progressive decoding method suitable for rateless codes | |
CN101562456A (en) | Code assisting frame synchronizing method based on soft decoding information of low-density parity check codes | |
CN101262232A (en) | A decoding algorithm for overlapping coding multiplexing | |
CN111641473B (en) | Method for shortening polarization code and communication method and system | |
CN109194336B (en) | Method, system and device for coding and decoding cascade Spinal code | |
CN103944689A (en) | Flow line transmission method suitable for physical layer rateless coding transmission | |
WO2012163135A1 (en) | Channel decoding method and decoder | |
CN102832954B (en) | Turbo code iterative decoding stopping method based on soft information average minimum value | |
CN103501182A (en) | Blind estimation method for convolutional code generating multinomial | |
CN108933606B (en) | System convolutional code blind identification method of error-tolerant code | |
CN107707333B (en) | Method and device for stopping early iteration of polarization code based on code word estimated value | |
CN107612557B (en) | Improved Shuffled BP algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |