CN101807975B - Channel coding method for enhancing transmission quality of fountain code on wireless channel - Google Patents
Channel coding method for enhancing transmission quality of fountain code on wireless channel Download PDFInfo
- Publication number
- CN101807975B CN101807975B CN 201019146037 CN201019146037A CN101807975B CN 101807975 B CN101807975 B CN 101807975B CN 201019146037 CN201019146037 CN 201019146037 CN 201019146037 A CN201019146037 A CN 201019146037A CN 101807975 B CN101807975 B CN 101807975B
- Authority
- CN
- China
- Prior art keywords
- ibrc
- code word
- decoder
- cyclic shift
- code words
- 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.)
- Expired - Fee Related
Links
Images
Abstract
The invention discloses a channel coding method for enhancing the transmission quality of a fountain code on a wireless channel, which comprises the following steps of: when coding an IBRC channel, sequentially displacing input code words firstly by an IBRC coder circularly through taking each element in two displacement vectors as the amplitude of the circular displacement of each time sequentially, then carrying out modular two addition on all the obtained code words after displacing circularly to obtain two code words totally, afterwards cascading the two code words to obtain coding code words, modulating by using BPSK and transmitting; when decoding the IBRC channel, dividing the received code words into a front section and a back section after carrying out BPSK demodulation on the received code words by an IBRC decoder, then carrying out modular two addition, afterwards carrying out reverse circular displacement, determining whether IBRC code words are erroneous in the transmission process or not on the basis of the code words obtained after displacing circularly, and outputting the code words directly if the IBRC code words are not erroneous; otherwise, setting an erroneous bit number sequentially within a certain range, decoding under the setting, and outputting a decoding result if the decoding is successful; and if the set erroneous bit number is still not decoded successfully after the set erroneous bit number samples all integers in the range, outputting all-zero code words by the IBRC decoder.
Description
Technical field
The present invention relates to the channel coding method of fountain codes and wireless channel, belong to the Wireless Data Transmission field.
Background technology
After LT codes and Raptor codes are suggested and are studied as two kinds of ways of realization of fountain codes, fountain codes is proved to be a kind of data encoding mode that has the implementation procedure of outstanding transmission performance and low complex degree, therefore fountain codes also is counted as the desirable transmission means that realizes large-scale data broadcasting, and has been put into the relevant criterion as concrete 3GPP and DVB-H.The key of this technology is exactly the LT encoder by core, produced the coding codeword of the unlimited a plurality of LT of being called as codes by K source data packet, and the LT decoder of receiving terminal only needs therefrom correctly to receive N the LT codes that is a bit larger tham arbitrarily K, K source data packet about just can recovering.
Traditional data transmission technology need to be set up a channel (backhaul) and process data re-transmission request (ARQ) from receiving terminal between transmitting terminal and receiving terminal, and in multicast, broadcast service, transmitting terminal may need to process the ARQ for the different pieces of information bag from different receiving terminals, these processing procedures will seriously reduce the throughput of network, the performances such as time delay.And when carrying out transfer of data with fountain codes, if transmission channel is erasure channel, the packet that sends at this channel so or be dropped, correctly receive the receiving end, so when under the environment of erasure channel, using fountain codes to transmit, receiving terminal only needs the LT codes that transmits on the continuous receive channel, no matter in receiving course, there is what LT codes to be deleted by channel, successfully recovers K source data packet thereby receiving terminal finally must successfully receive N LT codes.Therefore after using fountain codes, transmitting terminal will no longer need to process the ARQ from receiving terminal, only need to send LT codes always, just can stop to have transmitted current data after receiving until all receiving terminals all feed back to finish.
Yet only in cable environment, mention before the lacking of fountain codes not necessarily has in the above superperformance of erasure channel, that is because wireless channel is not erasure channel but interference channel, thereby the LT codes that receiving terminal is received in wireless channel might comprise wrong.And according to the coded system of LT encoder, in case wrong LT codes enters the LT decoder, will cause a series of LT decoding error (error propagation) and cause the ultimate source packet correctly to be recovered fully.Although can come the LT codes that generates is done chnnel coding in the common forward error correction coder (FEC) of the LT of transmitting terminal encoder back cascade, then by receiving terminal the packet that is interfered that receives on the channel is carried out fec decoder, the LT decoder that reduces to a certain extent successively receiving terminal receives the possibility of wrong LT codes, but at channel conditions comparatively in the rugged environment, the limited error correcting capability of FEC can't be tackled the interference that noise or decline cause, the packet of receiving when receiving terminal has comprised too much can't correctly be recovered because of the mistake that channel disturbance causes the time, common fec decoder device will become this decoded packet data the LT code of a mistake, finally still can't effectively stop the LT codes of mistake to enter the LT decoder.In sum, even do auxiliary chnnel coding with common FEC, or can't bring enough liftings for the transmission performance of fountain codes on wireless channel, therefore need to search out the special channel coding method that the LT codes that can effectively stop mistake enters the LT decoder, guarantee that with this fountain codes can carry out reliable transfer of data at wireless channel.
Summary of the invention
The purpose of this invention is to provide a kind of channel coding method for promoting fountain codes transmission quality on wireless channel.
For achieving the above object, the present invention proposes new channel coding method, utilize IBRC(improvedbinary repetition code) the simple cataloged procedure of code and gathered the decode procedure of error detecting and error correcting function in one, contrast remaining conventional channel encoding scheme, reduce by a larger margin the possibility that wrong LT codes enters the LT decoder, reach it in the performance of wired erasure channel so that fountain codes can be similar in Packet Error Ratio (the per:packet loss rate) performance that the air interference channel reaches under lower SNR, thereby guarantee that successfully fountain codes also can have transmission performance good on the erasure channel in wireless network.
Specifically, the present invention realizes that the technical scheme that above-mentioned purpose is taked is: should be used for promoting fountain codes channel coding method of transmission quality on wireless channel and mainly comprise the steps:
Step (1): the code word that comprises in the source data with transmitting terminal forms unlimited many LT code words through the LT encoder;
Step (2): the IBRC encoder carries out cyclic shift to each element of one of them in two motion vectors of the LT code word to be encoded of inputting this IBRC encoder successively as the amplitude of each cyclic shift, and resulting all code words after the cyclic shift are carried out mould two additions;
Described two motion vectors are respectively suc as formula shown in (1) and the formula (2),
α
1=(a
1,a
2,…a
K,a
K+1) (1)
α
2=(a
1,a
2,…a
K) (2)
Wherein, motion vector α
2Than motion vector α
1Few element a
K+1, each the element a that comprises in the described motion vector
1, a
2... a
k, a
K+1Value different,
The length 4K+4 bit of described code word to be encoded, wherein, K is vectorial α in the formula (2)
2The element number that comprises;
Step (3): the IBRC encoder carries out cyclic shift to the described LT code word to be encoded of step (2) another each element in described two motion vectors successively as the amplitude of each cyclic shift, and resulting all code words after the cyclic shift are carried out mould two additions;
Step (4): the IBRC encoder after with two additions of step (2) mould code word and the code word after two additions of step (3) mould carry out cascade, the code word of having been encoded;
Step (5): the code word that the IBRC encoder will have been encoded transfers to receiving terminal by wireless channel after modulating through BPSK;
Step (6): a) the IBRC decoder of receiving terminal receives the code word of having encoded through the BPSK modulation from wireless channel, and this reception code word is carried out the BPSK demodulation, obtains the IBRC code word after the demodulation;
Step (7): b) the IBRC code word of IBRC decoder after with demodulation is divided into the front and back two segment encode words of equal in length;
Step (8): c) the IBRC decoder carries out mould two additions with the front and back two segment encode words of described equal in length;
Step (9): the cyclic shift of opposite direction when d) code word of IBRC decoder after to two additions of step (8) mould carries out encoding with the IBRC encoder, the amplitude of this cyclic shift is motion vector α
1In element a
K+1Value;
Step (10): the code word that e) step (9) is obtained by described step (2) to the order of step (4) by the IBRC decoder is carried out the IBRC coding;
Step (11): f) the IBRC code word after the IBRC code word behind the resulting coding of step (10) and the resulting demodulation of step (6) is compared, if both are identical, the code word after the cyclic shift that then step (9) is obtained is as result's output of IBRC decoder; If different, then the IBRC decoder carries out error correction to the code word after the resulting cyclic shift of step (9) according to the following steps:
I) to set the error bit number of the code word after the cyclic shift that step (9) obtains be n to the IBRC decoder, wherein 1≤n≤K;
Ii) in the code word of IBRC decoder after the cyclic shift that step (9) obtains, in [1, K], select arbitrarily n-1 element, this n-1 element is carried out the binary system negate;
Iii) at step I i) select arbitrarily again an element in the surplus element that is not chosen to, and this element is carried out the binary system negate;
Code word after the binary system negate that iv) step I is ii) obtained by described step (2) to step (4) by the IBRC decoder is carried out the IBRC coding;
V) with step I v) IBRC code word behind the resulting coding and the IBRC code word after the resulting demodulation of step (6) compare:
If Hamming distance between the two equals n, then the IBRC decoder is with step I i i) code word after the binary system negate that obtains exports as decoded result, and this moment, decoding finished;
If both Hamming distances are not equal to n, then at step I i) in the surplus element that is not chosen to carry out one by one the binary system negate; Carry out the IBRC coding by the IBRC decoder by described step (2) to the code word of step (4) after to the binary system negate again; Then the IBRC code word after resulting IBRC code word and the resulting demodulation of step (6) is compared:
If the situation that Hamming distance equals n occurs, then the code word after the current binary system negate that obtains of IBRC decoder output is decoded and is finished;
If the situation that Hamming distance all is not equal to n occurs, then the code word after the cyclic shift that successively step (9) obtained again of IBRC decoder is not repeatedly selected n-1 element, and this n-1 element of each selection is carried out the binary system negate; Then after n-1 element to each selection carries out the binary system negate, this non-selected surplus element carries out the binary system negate successively in the code word after the cyclic shift that again step (9) is obtained; Carry out the IBRC coding by the IBRC decoder by described step (2) to the code word of step (4) after to the binary system negate again; Then the IBRC code word after resulting IBRC code word and the resulting demodulation of step (6) is compared:
Equal the situation of n if there is Hamming distance, the code word after the current binary system negate that obtains of IBRC decoder output then, decoding finishes;
All be not equal to the situation of n if there is Hamming distance, then with n value again repeatedly not in the scope of [1, K], then at each repeated execution of steps ii after the value again) to step v); If the situation that Hamming distance equals n do not occur yet exhaust all values in [1, K] scope at n after, then the IBRC decoder is exported the all-zero code word, and the length of this all-zero code word is identical with the length of the code word to be encoded of step (2), finishes decoding this moment;
Step (12): the decoded result of IBRC decoder output is sent into the LT decoder carry out the LT decoding.
Compared with prior art, the invention has the beneficial effects as follows:
1) sends in the situation of the same number of LT codes at transmitting terminal, when receiving terminal recovers source data packet, Packet Error Ratio of the present invention (per) can be issued at lower channel signal to noise ratio (SNR) environment the Packet Error Ratio performance of fountain codes on the erasure channel, thereby promotes the transmission quality of fountain codes on wireless channel.Described Packet Error Ratio refers to compare the packet of the original transmission of transmitting terminal, the percentage of the misdata bag that comprises in the source data packet that receiving terminal LT decoder recovers.
2) under the identical environment of SNR, when receiving terminal recovered source data packet, the present invention can guarantee that the packet that transmitting terminal only need to send still less just can reach per performance same as the prior art, promotes the transmission quality of fountain codes on wireless channel thus.
Description of drawings
Fig. 1 is the structural representation block diagram that the present invention comprises the fountain codes transceiver system of IBRC;
Fig. 2 is the decoding process figure of IBRC code in one embodiment of the present invention;
Fig. 3 is the Packet Error Ratio curve chart of the IBRC code of one embodiment of the present invention.
Embodiment
Fig. 1 is the structural representation of the used fountain codes transceiver system that comprises IBRC of the present invention.Transmitting terminal comprises the IBRC encoder of LT encoder and afterwards cascade, and receiving terminal comprises the LT decoder of IBRC decoder and afterwards cascade.The source data of transmitting terminal comprises r code word X
j(j=1 ... r), these code words at first form unlimited many LT codes through the LT encoder, for each LT code(U
i), U
iCarry out chnnel coding through the IBRC encoder first, forming corresponding IBRC code word C
iAfter carry out again BPSK modulation, IBRC code word after last IBRC channel encoder is modulated BPSK mails to receiving terminal by awgn channel, receiving terminal carries out the BPSK demodulation after receiving code word, obtain may existing through noise jamming the IBRC code word C ' that has encoded of certain several bit mistake
i, the IBRC decoder is to C '
iDecode, with the decoded result U ' that obtains
iSend into the LT decoder and carry out the LT decoding, therefrom obtain the source data code word X ' that receiving terminal recovers
j(j=1 ... r).If X
j(j=1 ... r) with X '
j(j=1 ... r) have m code word different in, system's Packet Error Ratio (per) is exactly m/r so.
Channel coding method of the present invention comprises IBRC chnnel coding and IBRC channel-decoding two parts.
Wherein, the execution in step of IBRC chnnel coding part is:
1. determine that a pair of IBRC encoder is employed, length is respectively the Vector Groups of K and K+1, α
1=(a
1, a
2... a
K, a
K+1) and α
2=(a
1, a
2... a
K), α wherein
1With α
2Two conditions below must satisfying: 1) α
1Only than α
2Many element a
K+1, all the other elements are all identical, and the element in each vector is different, i.e. a
1≠ a
2≠ a
3≠ a
K2) encoder uses α
1With α
2The code word C that obtains after encoding
iSmallest hamming distance d
Min=2K+1.
α
1With α
2In each element a of comprising
i(i=1 ... that value K+1) is indicated is U
iThe amplitude of each cyclic shift, described amplitude specifically refers to the bit number of cyclic shift, therefore for α
1Arbitrary element a
i(i=1 ... K+1), U
iTo carry out a
iThe cyclic shift of bit.
The direction of the cyclic shift of acquiescence is to the right, namely for vectorial U
i=(u
1, u
2, u
3... u
k), establish
Represent vectorial U
iBe a in the execution amplitude
iCyclic shift after the vector that obtains, so
Just can be expressed as
More convenient in order to narrate, in content of the present invention, use α
1=(0,3,7,10) and α
2The vector that this group of=(0,3,7) satisfies condition is introduced cataloged procedure and the decode procedure of IBRC code, the code word U of input IBRC encoder
iThe length k of code word is according to α
1With α
2Length also to satisfy certain requirement (〉=4K+4=16); 2. order
Expression U
iThe process amplitude is the resulting code word of ring shift right of j, and the value of j is Vector Groups α
1=(a
1, a
2... a
K, a
K+1) and α
2=(a
1, a
2... a
K) in the value of each element, a
1, a
2... a
K, a
K+1Set vectorial P
1, P
2Be respectively vectorial U to be encoded
iAccording to motion vector α
1With α
2In the value of each element all code words of carrying out successively obtaining after the cyclic shift carry out the new code word that mould two additions produce.Work as α
1=(0,3,7,10), α
2During=(0,3,7), mod
2Binary addition, the IBRC encoder is at first according to α
1In the value of each element (be U
iThe amplitude of each cyclic shift) to U
iCarry out cyclic shift, the code word after obtaining being shifted
Again these four code words are carried out mould two additions and obtain code word P
1, namely
3.IBRC encoder is obtaining code word P
1After again according to α
2In the value of each element to U
iCarry out cyclic shift, the code word after obtaining being shifted
Again these four code words are carried out mould two additions and obtain code word P
2, namely
4. with P
1, P
2Cascade generates U
iCorresponding IBRC code word C
i=(P
1| P
2), C wherein
iLength be U
iTwice, i.e. 2k.
The IBRC code that the present invention uses have quite intuitively decode procedure and lower decoding complex degree, and receiving terminal only need to be known the employed motion vector α of transmitting terminal
1With α
2, just can carry out the IBRC decoding, and not need other any information relevant with this code word.
The IBRC decode procedure of IBRC decoder section is divided into the detected transmission mistake and corrects error of transmission two parts, in the detected transmission error procedure, the IBRC decoder determines whether the IBRC code word after the current demodulation of receiving exists error of transmission, if there is no error of transmission, the IBRC decoder will finish after the detected transmission error procedure is finished the decode procedure of code word; If the IBRC decoder is determined the IBRC code word after the current demodulation of receiving and has the error of transmission of some bits that the IBRC decoder will carry out error correction to this code word.In the process of error correction, only during the error bit number that comprises of the IBRC code word after the current demodulation that obtains≤K, this code word can be correctly decoded by the IBRC decoder, otherwise the IBRC decoder is at the error bit number of determining that code word comprises〉behind the K, the IBRC decoder will abandon this code word, output length is the full 0 code word of k, finishes the decoding to current code word, and the IBRC code word after the new demodulation that then the IBRC decoder is obtained is decoded.
The present invention will and correct the error of transmission process and narrate respectively the detected transmission error procedure in the IBRC codeword decoding process.
The detected transmission wrong step is:
1) decoder is with the C ' that receives
iBe divided into isometric front and back two segment encode word P '
1, P'
2, C '
iCan further be expressed as:
E wherein
1iWith e
2iRepresent respectively the code word P that generates in the transmitting terminal IBRC encoder
1With P
2The interference that in transmission course, is subject to respectively.
2) the IBRC decoder is with code word P '
1, P '
2Addition obtains code word P '
i, P '
iCan be expressed as:
3) the IBRC decoder is to code word P '
iCarry out cyclic shift, the opposite direction of the cyclic shift that the direction of the cyclic shift that this moment is performed and IBRC encoder carry out when coding, namely the IBRC decoder is to code word P '
iRing shift left; IBRC is to P '
iThe ring shift left amplitude of carrying out is α
1Compare α
2That element value that has more, namely then 10 bits obtain P '
iCode word behind the ring shift left
Can be expressed as
E wherein
iThat characterize is exactly LT code word U
iThe noise jamming that in awgn channel, is subject to.
4) right
Carry out the IBRC coding one time, the motion vector that wherein uses is α
1=(0,3,7,10), α
2=(0,3,7), the IBRC decoder obtains
Corresponding IBRC code word C
s
5) with C
sThe IBRC code word C ' to be decoded that receives with the IBRC decoder
iCompare, if C '
i=C
s, decoder is thought IBRC code word C
iIn transmission course, do not make mistakes,
Just as decoded result U '
iOutputed to the LT decoder by the IBRC decoder and carry out the LT decoding, the IBRC decoder finishes current to code word C '
iDecode procedure.If C '
i=C
sBe false, the IBRC decoder is thought C '
iComprise the error of transmission of some bits, need it to carry out error correction, IBRC decoder then enter the decode procedure of correcting error of transmission.
Confirm C ' at decoder
iAfter comprising error of transmission, because the motion vector that the IBRC encoder in this example uses is α
1=(0,3,7,10), α
2=(0,3,7), so K=3, IBRC code word smallest hamming distance is d
Min=2K+1=7, so the IBRC decoder can correctly be corrected at most the IBRC code word of the error of transmission that comprises 3 bits.
The IBRC decoder is according to this conclusion, to the vectorial U that obtains in the detected transmission error procedure
i fCarry out test decode 3 times, C ' when repeatedly not setting each test with order at random
iThe error bit number that comprises, each error bit scope of counting of setting is 1 bit to 3 bit, the IBRC decoder is just attempted under current setting the IBRC codeword decoding after the demodulation after having set the error bit number at every turn.At the most through three tests, after three kinds of error situations in the setting range all were completed, the IBRC decoder must obtain the decoded result of IBRC code word and with its output.
Correct the error bit number that the IBRC code word after the demodulation that the process of error of transmission will set when each test according to the IBRC decoder comprises, be 1 bit to setting the error bit number, 2 bits, the test process of 3 bits is by following paragraph 1), 2), 3) narrate respectively.
What decoding process shown in Figure 2 embodied is the error bit number that the IBRC code word is comprised when the IBRC decoder, according to 3 bits, and 1 bit, when 2 bit-order were set, decoder was to the test decode process of IBRC code word.The IBRC decoder is after having set at random the error bit number, just from following paragraph 1), 2), 3) in find the test process corresponding with the error bit number that sets, according to this test process the IBRC code word under the current setting is decoded:
1) as IBRC decoder setting code word C '
iThe error bit number that comprises is 1 o'clock, and the IBRC decoder will be got an integer successively at random in the scope of [1, K], not repeatedly to multiselect K time, is m at the integer of choosing for the j time even
j, m so
1≠ m
2≠ m
3... m
K-1≠ m
KThe IBRC decoder after having selected an integer, to code word at every turn
Carry out the processing of following steps, finish the current IBRC code word C ' that sets with this
iTest decode process in the mistake 1 bit number situation that comprises:
A. establish the IBRC decoder and in the 1st time is selected, chosen the interior integer m of scope that is positioned at [1, K]
1, decoder pair
M
1Individual element
Negate, even
The IBRC decoder passes through code word after carrying out negate
Obtained a new code word
Namely
B.IBRC decoder pair
Carry out the IBRC coding one time by aforementioned coding step order, the motion vector that wherein uses in the cataloged procedure is employed that a pair of motion vector α of the IBRC encoder of transmitting terminal again
1=(0,3,7,10), α
2=(0,3,7), the IBRC decoder obtains code word
Corresponding IBRC code word C
f
The c.IBRC decoder is C relatively
fWith C '
iBetween Hamming distance d, if d=1, the IBRC decoder just will
As decoded result output, namely
Decoding finishes; If d=1 is false, decoder is confirmed
Comprise in the situation of mistake of 1 bit,
Be not that wrong bit, the IBRC decoder will be reset
In the scope of [1, K], carry out successively remaining K-1 unduplicated at random selection; The IBRC decoder for choose at every turn integer m
l, obtain according to the described method of step a)
Again to this
Carry out IBRC coding and obtain code word C to correspondence
f, decoder compares C again
fWith C '
iBetween Hamming distance d, if there is d=1, decoder is just with the code word after the corresponding binary system negate of the integer of current selection
As decoded result output, if the IBRC decoder after repeatedly not selecting at random K integer in the scope of [1, K], all code words that obtains
With and corresponding IBRC code word C
fAll can not be so that d=1 to set up, the IBRC decoder finishes the test of the situation of 1 bit mistake that the IBRC code word is comprised, and current setting is wrong, IBRC decoder then again set
The error bit number that comprises, and test accordingly.
2) as IBRC decoder setting IBRC code word C '
iWhen comprising 2 bits wrong, the IBRC decoder will be got an integer successively at random in the scope of [1, K], not repeatedly to more options K time, be m at the integer of choosing for the j time even
j, m so
1≠ m
2≠ m
3M
K-1≠ m
KThe IBRC decoder is being set IBRC code word C '
iComprise in the situation of 2 bit mistakes, will be to code word
Carry out the processing of following steps, finish test decode process under the current setting with this:
A. establish the IBRC decoder and in the 1st time is selected, chosen the interior integer m of scope that is positioned at [1, K]
1, decoder is to code word
M
1Individual element
Negate, even
The IBRC decoder passes through code word after finishing negate
Obtained a new code word
Wherein
The b.IBRC decoder is selected one again and is different from m in the scope of [1, K]
1Several n
1, decoder is to code word
N
1Individual element
Negate, even
The IBRC decoder passes through code word
Obtain new code word
Wherein
Perhaps
C.IBRC decoder pair
Carry out the IBRC coding one time, the motion vector that wherein uses is α
1=(0,3,7,10), α
2=(0,3,7), the IBRC decoder obtains code word
Corresponding IBRC code word C
f
The d.IBRC decoder is C relatively
fWith C '
iBetween Hamming distance d, if d=2, decoder just will
As decoded result output, namely
Decoding finishes; If d=2 is false, the IBRC decoder will be reset
In the scope of [1, K], select to be different from successively again m
1And n
1Integer, be again at the most K-2 time and unduplicatedly select at random; The IBRC decoder is for obtain different Integer n at every turn
l, according to the described method of step b), with corresponding with it
N
lThe position negate obtains code word
Again to this
Carry out the IBRC coding, obtain
Corresponding IBRC code word C
f, decoder compares C again
fWith C '
iBetween Hamming distance d, set up if there is d=2, decoder is just with the Integer n of current selection
lThe corresponding code word that negate obtains through binary system
As decoded result output, decoding finishes;
If repeatedly not selected K-2 time at random, the IBRC decoder is not different from m in the scope of [1, K]
1And n
1Integer after, all code words that obtains
With and corresponding IBRC code word C
fAll can not be so that d=2 to set up, the IBRC decoder will recover code word
Then in the scope of [1, K], or else repeatedly select to be different from successively m
1Integer, select K-1 time altogether;
Integer m for each selection
l, the IBRC decoder is to code word
M
lIndividual element
Negate, even
The IBRC decoder passes through code word
Obtained a new code word
Wherein
At the current m that selected
lSituation under, the IBRC decoder is according to step b, repeatedly do not select to be different from successively again m in the scope of [1, K]
lInteger n
l,, obtain by current at the most K-1 time
And each Integer n of selecting
l, the IBRC decoder will successively obtain corresponding at the most K-1
The IBRC decoder is successively to obtain at every turn
Carry out the IBRC coding, obtain corresponding IBRC code word C
f, the IBRC decoder is C relatively
fWith C '
iBetween Hamming distance d, if there is d=2, decoder is just with current selected integer m
lWith n
lThe code word that obtains after the corresponding binary system negate
(namely respectively to U
i fIn two elements
Negate) as decoded result output, decoding finishes;
If the IBRC decoder is not repeatedly selected K time altogether integer m at random in the scope of [1, K]
lAfter, to all code words that obtains
Carried out the negate of step b, the described IBRC of step c coding and steps d are described all can't to be obtained by integer m after relatively
lWith n
lDetermined code word
So that d=2 sets up, the IBRC decoder finishes the test of the situation of 2 bit mistakes that the IBRC code word is comprised, and current setting is wrong, IBRC decoder then again set C '
iThe error bit number that comprises, and test accordingly.
3) as IBRC decoder setting IBRC code word C '
iWhen comprising 3 bits wrong, decoder will be got two unequal integers successively at random in the scope of [1, K], not repeatedly to multiselect K* (K-1)/2, even form integers to (m at two integers choosing for the j time
j, n
j), to select for these all K* (K-1)/2 times so, all integers that decoder obtains are at m
j≠ n
jThe time have (a m
1, n
1) ≠ (m
2, n
2) ≠ ... ≠ (m
K* (K-3)/2, n
K* (K-3)/2) ≠ (m
K* (K-1)/2, n
K* (K-1)/2).The IBRC decoder is being set IBRC code word C '
iComprise in the situation of 3 bit mistakes; To code word
Carry out the processing of following steps, finish test decode process under the current setting with this:
A. establish the IBRC decoder and in the 1st time is selected, chosen integer in the scope that is positioned at [1, K] to (m
1, n
1), decoder is to code word
M
1Individual element
And n
1Individual element
Negate, even
The IBRC decoder passes through code word
Obtained a new code word
Wherein
The b.IBRC decoder is selected one again and is different from m in the scope of [1, K]
1, n
1Several r
1, decoder is to code word
R
1Individual element
Negate, even
The IBRC decoder passes through code word after carrying out negate
Obtain new code word
C.IBRC decoder pair
Carry out the IBRC coding one time, the motion vector that wherein uses is α
1=(0,3,7,10), α
2=(0,3,7), the IBRC decoder obtains code word
Corresponding IBRC code word C
f
The d.IBRC decoder is C relatively
fWith C '
iBetween Hamming distance d, if d=3, decoder just will
As decoded result output, namely
Decoding finishes; If d=3 is false, the IBRC decoder will be reset
In the scope of [1, K], repeatedly do not select to be different from random successively again m
1, n
1And r
1Integer, to more options K-3 time; The IBRC decoder is for obtain different integer r at every turn
l, according to the described method of step b), with corresponding U
i f' r
lThe position negate obtains code word
Encoder is to this code word
Carry out the IBRC coding, obtain
Corresponding IBRC code word C
fDecoder compares C again
fWith C '
iBetween Hamming distance d, set up if there is d=3, decoder is just with the Integer n of current selection
lCode word after the corresponding binary system negate
As decoded result output, decoding finishes;
If the IBRC decoder has not repeatedly selected K-3 time to be different from m altogether at random in the scope of [1, K]
1, n
1And r
1Integer after, all code words that obtains
With and corresponding IBRC code word C
fAll can not be so that d=3 to set up, the IBRC decoder will recover code word
Then in the scope of [1, K], select successively to be different from integer to (m
1, n
1) all the other integers pair, selecting at the most number of times is K* (K-3)/2 again;
For the new integer of each selection to (m
l, n
l), the IBRC decoder is to code word
M
lIndividual element
And n
lIndividual element
Negate, even negate, even
The IBRC decoder passes through code word
Obtained a new code word
Wherein
At the current integer of having selected to (m
l, n
l) situation under, the IBRC decoder is by repeatedly do not select to be different from random successively again m among the step b in the scope of [1, K]
lWith n
lInteger r
l, to more options K-2 time; Selecting r at every turn
lAfter, the IBRC decoder passes through current
R
lIndividual element negate obtains accordingly
To what obtain at every turn
Carry out successively the IBRC coding and obtain corresponding IBRC code word C
fThe IBRC decoder is C relatively
fWith C '
iBetween Hamming distance d, if there is d=3, decoder just with current selected integer to (m
l, n
l) and r
lIt is corresponding that to have passed through the binary system negate (namely right respectively
In three elements
Negate) resulting code word
As decoded result output, decoding finishes; If the IBRC decoder does not repeatedly select altogether K* (K-1)/2 time integer to (m in the scope of [1, K] at random
l, n
l) after, to all code word U that obtains
i f' carried out the successively negate of step b, the described IBRC coding of step c and steps d are described all can't to obtain integer to (m after relatively
l, n
l) and r
lCorresponding code word
So that d=3 sets up, the IBRC decoder finishes the test of the situation of 3 bit mistakes that the IBRC code word is comprised, and current setting is wrong, IBRC decoder then again set IBRC code word C '
iThe error bit number that comprises, and test accordingly.
Receiving terminal IBRC decoder is deciphered processing by above process to the IBRC code word that receives, because K=3, so the IBRC decoder will repeatedly not set C ' in the scope of [1,3]
iThe error bit number.So the IBRC decoder at the most three tests that are over, has not repeatedly been set C ' at the most
iThe error bit number that comprises is 1 bit, and 2 bits or 3 bits, and after carrying out corresponding test decode according to above-mentioned process just can be determined the IBRC code word C ' after the demodulation
iThe scope of the error bit number that comprises; For the reception code word C ' of the mistake that comprises within 3 bits
i, decoder can be accomplished entirely true decoding; And for the code word of mistake greater than 3 bits, the IBRC decoder can't be correctly to C '
iDecode,, decoder will directly be abandoned code word C '
iDecoding, the all-zero code word that sends length and be the k bit is exported as decoded result, and finishes C '
iDecoding.
Because the output of IBRC decoder is exactly the input of LT decoder, the LT code word that namely recovers at receiving terminal, and for the LT decode procedure, complete zero LT code word is to cause the LT decoding error, and wrong LT code word will cause a series of LT decoding error.Therefore the IBRC decoder can prevent effectively that by above-mentioned decode procedure the decoded result (LT code word) of wrong IBRC code is as the enter code word of LT decoder.So by using the IBRC code as chnnel coding, the enter code word of the LT decoder of receiving terminal or be correct, exactly the LT decode procedure do not had influential all-zero code word, thereby the scrambling characteristic of wireless channel has been approximated to the deletion characteristic of the wire message way of suitable fountain codes work, has stopped a series of decoding errors that receiving terminal LT decode procedure causes because enter code word comprises mistake.
Meanwhile, because fountain codes itself can produce the characteristics that numerous coding codeword transmits, after using the IBRC code as chnnel coding, receiving terminal only needs the IBRC code word that receives to be decoded according to the described process of content of the present invention always, with regard to a correct LT code word that decodes surely sufficient amount; Receiving terminal recovers the raw information of transmitting terminal again from a large amount of LT code word of IBRC decoder output by the LT decoder.Therefore the IBRC code by narrating among the present invention can improve the transmission performance of fountain codes on wireless channel effectively.
Three curves during Fig. 3 comprises are respectively the Packet Error Ratio curve of IBRC code word when awgn channel uses fountain codes transmission sources data that the present invention gives an example; The Packet Error Ratio curve of common FEC mode when identical awgn channel uses fountain codes transmission sources data; And the Packet Error Ratio curve of fountain codes when wired erasure channel transmitting data; Can find out that therefrom the IBRC code that the present invention narrates compares common FEC mode, give the data transmission performance of fountain codes at the AWGN wireless channel, be that the Packet Error Ratio performance is brought obvious lifting, so that fountain codes can be with lower error probability the transmission of data, and can be issued at lower signal to noise ratio environment the performance similar to the Packet Error Ratio of fountain codes on wire message way.Therefore the IBRC code narrated of the present invention is a kind of channel coding method that can the data transmission performance of Effective Raise fountain codes on wireless channel.
Claims (1)
1. a channel coding method that is used for promoting fountain codes transmission quality on wireless channel is characterized in that comprising the steps:
Step (1): the code word that comprises in the source data with transmitting terminal forms unlimited many LT code words through the LT encoder;
Step (2): the IBRC encoder carries out cyclic shift to each element of one of them in two motion vectors of the LT code word to be encoded of inputting this IBRC encoder successively as the amplitude of each cyclic shift, and resulting all code words after the cyclic shift are carried out mould two additions;
Described two motion vectors are respectively suc as formula shown in (1) and the formula (2),
α
1=(a
1,a
2,…a
K,a
K+1)(1)
α
2=(a
1,a
2,…a
K)(2)
Wherein, motion vector α
2Than motion vector α
1Few element a
K+1, each the element a that comprises in the described motion vector
1, a
2... a
k, a
K+1Value different,
The length 4K+4 bit of described code word to be encoded, wherein, K is vectorial α in the formula (2)
2The element number that comprises;
Step (3): the IBRC encoder carries out cyclic shift to the described LT code word to be encoded of step (2) another each element in described two motion vectors successively as the amplitude of each cyclic shift, and resulting all code words after the cyclic shift are carried out mould two additions;
Step (4): the IBRC encoder after with two additions of step (2) mould code word and the code word after two additions of step (3) mould carry out cascade, the code word of having been encoded;
Step (5): the code word that the IBRC encoder will have been encoded transfers to receiving terminal by wireless channel after modulating through BPSK;
Step (6): a) the IBRC decoder of receiving terminal receives the code word of having encoded through the BPSK modulation from wireless channel, and this reception code word is carried out the BPSK demodulation, obtains the IBRC code word after the demodulation;
Step (7): b) the IBRC code word of IBRC decoder after with demodulation is divided into the front and back two segment encode words of equal in length;
Step (8): c) the IBRC decoder carries out mould two additions with the front and back two segment encode words of described equal in length;
Step (9): the cyclic shift of opposite direction when d) code word of IBRC decoder after to two additions of step (8) mould carries out encoding with the IBRC encoder, the amplitude of this cyclic shift is motion vector α
1In element a
K+1Value;
Step (10): the code word that e) step (9) is obtained by described step (2) to the order of step (4) by the IBRC decoder is carried out the IBRC coding;
Step (11): f) the IBRC code word after the IBRC code word behind the resulting coding of step (10) and the resulting demodulation of step (6) is compared, if both are identical, the code word after the cyclic shift that then step (9) is obtained is as result's output of IBRC decoder; If different, then the IBRC decoder carries out error correction to the code word after the resulting cyclic shift of step (9) according to the following steps:
I) to set the error bit number of the code word after the cyclic shift that step (9) obtains be n to the IBRC decoder, wherein 1≤n≤K;
Ii) in the code word of IBRC decoder after the cyclic shift that step (9) obtains, in [1, K], select arbitrarily n-1 element, this n-1 element is carried out the binary system negate;
Iii) at step I i) select arbitrarily again an element in the surplus element that is not chosen to, and this element is carried out the binary system negate;
Code word after the binary system negate that iv) step I is ii) obtained by described step (2) to step (4) by the IBRC decoder is carried out the IBRC coding;
V) with step I v) IBRC code word behind the resulting coding and the IBRC code word after the resulting demodulation of step (6) compare:
If Hamming distance between the two equals n, then the code word after the binary system negate that step I is ii) obtained of IBRC decoder is exported as decoded result, and this moment, decoding finished;
If both Hamming distances are not equal to n, then at step I i) in the surplus element that is not chosen to carry out one by one the binary system negate; Carry out the IBRC coding by the IBRC decoder by described step (2) to the code word of step (4) after to the binary system negate again; Then the IBRC code word after resulting IBRC code word and the resulting demodulation of step (6) is compared:
If the situation that Hamming distance equals n occurs, then the code word after the current binary system negate that obtains of IBRC decoder output is decoded and is finished;
If the situation that Hamming distance all is not equal to n occurs, then the code word after the cyclic shift that successively step (9) obtained again of IBRC decoder is not repeatedly selected n-1 element, and this n-1 element of each selection is carried out the binary system negate; Then after n-1 element to each selection carries out the binary system negate, this non-selected surplus element carries out the binary system negate successively in the code word after the cyclic shift that again step (9) is obtained; Carry out the IBRC coding by the IBRC decoder by described step (2) to the code word of step (4) after to the binary system negate again; Then the IBRC code word after resulting IBRC code word and the resulting demodulation of step (6) is compared:
Equal the situation of n if there is Hamming distance, the code word after the current binary system negate that obtains of IBRC decoder output then, decoding finishes;
All be not equal to the situation of n if there is Hamming distance, then with n value again repeatedly not in the scope of [1, K], then at each repeated execution of steps ii after the value again) to step v); If the situation that Hamming distance equals n do not occur yet exhaust all values in [1, K] scope at n after, then the IBRC decoder is exported the all-zero code word, and the length of this all-zero code word is identical with the length of the code word to be encoded of step (2), finishes decoding this moment;
Step (12): the decoded result of IBRC decoder output is sent into the LT decoder carry out the LT decoding.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201019146037 CN101807975B (en) | 2010-02-05 | 2010-02-05 | Channel coding method for enhancing transmission quality of fountain code on wireless channel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201019146037 CN101807975B (en) | 2010-02-05 | 2010-02-05 | Channel coding method for enhancing transmission quality of fountain code on wireless channel |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101807975A CN101807975A (en) | 2010-08-18 |
CN101807975B true CN101807975B (en) | 2013-01-09 |
Family
ID=42609603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201019146037 Expired - Fee Related CN101807975B (en) | 2010-02-05 | 2010-02-05 | Channel coding method for enhancing transmission quality of fountain code on wireless channel |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101807975B (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137053B (en) * | 2011-05-06 | 2013-07-10 | 中国工程物理研究院电子工程研究所 | Method for estimating signal to noise ratio of BPSK (Binary Phase Shift Keying) signal |
CN102164026B (en) * | 2011-05-20 | 2014-03-26 | 哈尔滨工业大学深圳研究生院 | Fountain code compiling method based on deep space communication environment |
CN102801495B (en) * | 2012-06-18 | 2015-07-08 | 北京遥测技术研究所 | Fountain-code-based telemetry data frame synchronization method |
CN103888225B (en) * | 2014-04-17 | 2017-05-31 | 淮海工学院 | A kind of fountain codes method under binary erasure channel |
CN104363074A (en) * | 2014-11-04 | 2015-02-18 | 大连大学 | LT (Luby transform) code based anti-interference method for spread spectrum communication |
CN105049388B (en) * | 2015-07-05 | 2018-02-27 | 新华通讯社 | A kind of Shortwave Communication System and its transmission method based on fountain codes and single carrier frequency domain equalization |
CN105681801A (en) * | 2016-03-30 | 2016-06-15 | 成都芯程科技有限责任公司 | Method for realizing H.264CAVLC decoding fault tolerance function and decoder |
CN110535563B (en) * | 2019-08-30 | 2020-06-19 | 西安交通大学 | Wireless safe transmission method based on fountain code control and data interlocking |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1659695A1 (en) * | 2004-11-23 | 2006-05-24 | Siemens Aktiengesellschaft | Turbo-fountain code and its application for reliable wireless broadcast |
CN101330368A (en) * | 2008-05-06 | 2008-12-24 | 华中科技大学 | Self-adaption multicast transmission method |
CN101510783A (en) * | 2009-03-26 | 2009-08-19 | 北京理工大学 | Multi-scale fountain encode and decode method based on finite domain |
CN101567755A (en) * | 2009-05-25 | 2009-10-28 | 北京理工大学 | Network coding method based on fountain codes |
-
2010
- 2010-02-05 CN CN 201019146037 patent/CN101807975B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1659695A1 (en) * | 2004-11-23 | 2006-05-24 | Siemens Aktiengesellschaft | Turbo-fountain code and its application for reliable wireless broadcast |
CN101330368A (en) * | 2008-05-06 | 2008-12-24 | 华中科技大学 | Self-adaption multicast transmission method |
CN101510783A (en) * | 2009-03-26 | 2009-08-19 | 北京理工大学 | Multi-scale fountain encode and decode method based on finite domain |
CN101567755A (en) * | 2009-05-25 | 2009-10-28 | 北京理工大学 | Network coding method based on fountain codes |
Also Published As
Publication number | Publication date |
---|---|
CN101807975A (en) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101807975B (en) | Channel coding method for enhancing transmission quality of fountain code on wireless channel | |
CA1260101A (en) | Self-adaptive hybrid data transmission | |
CN101803208B (en) | Multi-layer cyclic redundancy check code in wireless communication system | |
CN102638331B (en) | Wireless reliable broadcasting method based on random linear network code | |
CN1102813C (en) | Error correction with two block codes | |
KR100240869B1 (en) | Data transmission method for dual diversity system | |
CN102355341B (en) | Network coding method of hybrid automatic request retransmission for long-term evolution system | |
CN101938334B (en) | Adaptive error control method combining random network coding and automatic repeat request | |
CN103281166A (en) | Hybrid automatic repeat request transmission method based on polarization code | |
WO2008041309A1 (en) | Wireless communication system, transmitter apparatus and receiver apparatus | |
CN103023618A (en) | Random code length polar encoding method | |
CN101459430A (en) | Encoding method low density generation matrix code | |
EP2200182A1 (en) | Method and device for coding the low density generator matrix code | |
CN103200088A (en) | Improved type MMRS fixed relay node selection signal transmission method based on fountain encoding | |
CN1301117A (en) | 'Not or' codes and serial connected encoder/decoder therewith | |
CN104135345A (en) | Cross-layer coding and decoding method applied to long-term evolution system | |
CN109889311B (en) | Gap channel communication method based on combined coding | |
CN113507289B (en) | Encoder, decoder and code word generation method | |
CN102148665A (en) | Decoding method for LT (language translation) codes | |
CN1246227A (en) | Receiver decoder circuitry, and associated method, for decoding channel encoded signal | |
EP3133785B1 (en) | Method and apparatus for generating codeword, and method and apparatus for recovering codeword | |
US6134696A (en) | Encoding and decoding rate-1/n convolutional codes and their punctured versions | |
CN110474713A (en) | A kind of communication system for improving RRNS code coding/decoding process | |
WO2020034332A1 (en) | Bit selection for hybrid automatic repeat requests | |
CN102208963B (en) | Decoding method for determining rate-free codes through binary system |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130109 Termination date: 20140205 |