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 PDF

Info

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
Application number
CN 201019146037
Other languages
Chinese (zh)
Other versions
CN101807975A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 201019146037 priority Critical patent/CN101807975B/en
Publication of CN101807975A publication Critical patent/CN101807975A/en
Application granted granted Critical
Publication of CN101807975B publication Critical patent/CN101807975B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Be used for promoting the channel coding method of fountain codes transmission quality on wireless channel
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
Figure GDA00002230092500061
Represent vectorial U iBe a in the execution amplitude iCyclic shift after the vector that obtains, so
Figure GDA00002230092500062
Just can be expressed as U i a i = ( U k - a i + 1 . . . , u k , u 1 , u 2 . . . u k - a i ) ;
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
Figure GDA00002230092500073
Again these four code words are carried out mould two additions and obtain code word P 1, namely P 1 = mod 2 ( U i 0 + U i 3 + U i 7 + U i 10 ) ;
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 P 2 = mod 2 ( U i 0 + U i 3 + U i 7 ) ;
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:
Figure GDA00002230092500081
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:
P i ′ = mod 2 ( P 1 ′ + P 2 ′ )
= mod 2 ( mod 2 ( mod 2 ( U i 0 + U i 3 + U i 7 + U i 10 ) + e 1 i ) + mod 2 ( mod 2 ( U i 0 + U i 3 + U i 7 ) + e 2 i ) ) ( ,
= mod 2 ( U i 10 + e i ′ )
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
Figure GDA00002230092500085
Can be expressed as
Figure GDA00002230092500086
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
Figure GDA00002230092500092
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,
Figure GDA00002230092500093
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
Figure GDA00002230092500102
M 1Individual element
Figure GDA00002230092500103
Negate, even
Figure GDA00002230092500104
The IBRC decoder passes through code word after carrying out negate
Figure GDA00002230092500105
Obtained a new code word
Figure GDA00002230092500106
Namely U i f ′ = ( u 1 f , u 2 f , . . . u m 1 f ′ . . . u K f ) ;
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
Figure GDA000022300925001010
As decoded result output, namely
Figure GDA000022300925001011
Decoding finishes; If d=1 is false, decoder is confirmed
Figure GDA000022300925001012
Comprise in the situation of mistake of 1 bit,
Figure GDA000022300925001013
Be not that wrong bit, the IBRC decoder will be reset
Figure GDA000022300925001014
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)
Figure GDA000022300925001015
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
Figure GDA00002230092500112
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
Figure GDA00002230092500113
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
Figure GDA00002230092500114
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
Figure GDA00002230092500115
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
Figure GDA00002230092500117
Negate, even
Figure GDA00002230092500118
The IBRC decoder passes through code word after finishing negate
Figure GDA00002230092500119
Obtained a new code word
Figure GDA000022300925001110
Wherein U i f ′ = ( u 1 f , u 2 f , . . . u m 1 f ′ . . . u K f ) .
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
Figure GDA000022300925001113
Negate, even The IBRC decoder passes through code word
Figure GDA000022300925001115
Obtain new code word
Figure GDA000022300925001116
Wherein U i f ′ ′ = ( u 1 f , u 2 f , . . . u n 1 f ′ . . . u m 1 f ′ . . . u K f ) Perhaps U f ′ ′ = ( u 1 f , u 2 f . . . u m 1 f ′ , . . . u n 1 f ′ . . . u k f ) ;
C.IBRC decoder pair
Figure GDA000022300925001119
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
Figure GDA000022300925001120
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
Figure GDA00002230092500121
As decoded result output, namely
Figure GDA00002230092500122
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
Figure GDA00002230092500124
N lThe position negate obtains code word U i f ′ ′ = ( u 1 f , u 2 f , . . . u n l f ′ . . . u m 1 f ′ . . . u K f ) , Again to this
Figure GDA00002230092500126
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
Figure GDA00002230092500128
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
Figure GDA00002230092500129
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
Figure GDA000022300925001211
M lIndividual element
Figure GDA000022300925001212
Negate, even
Figure GDA000022300925001213
The IBRC decoder passes through code word Obtained a new code word
Figure GDA000022300925001215
Wherein
Figure GDA000022300925001216
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
Figure GDA000022300925001217
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
Figure GDA000022300925001220
(namely respectively to U i fIn two elements
Figure GDA000022300925001221
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
Figure GDA00002230092500131
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
Figure GDA00002230092500132
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
Figure GDA00002230092500133
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
Figure GDA00002230092500135
And n 1Individual element Negate, even u m 1 f ′ = mod 2 ( u m 1 f + 1 ) , u n 1 f ′ = mod 2 ( u n 1 f + 1 ) ; The IBRC decoder passes through code word
Figure GDA00002230092500139
Obtained a new code word
Figure GDA000022300925001310
Wherein U f ′ = ( u 1 f , u 2 f . . . u m 1 f ′ , . . . u n 1 f ′ . . . u k f ) ;
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
Figure GDA000022300925001312
R 1Individual element
Figure GDA000022300925001313
Negate, even
Figure GDA000022300925001314
The IBRC decoder passes through code word after carrying out negate Obtain new code word
Figure GDA000022300925001316
C.IBRC decoder pair
Figure GDA000022300925001317
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
Figure GDA000022300925001318
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
Figure GDA00002230092500142
Decoding finishes; If d=3 is false, the IBRC decoder will be reset U i f ′ = ( u 1 f , u 2 f , . . . u n l f ′ . . . u m 1 f ′ . . . u K f ) , 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 U i f ′ ′ = ( u 1 f , u 2 f , . . . u n l f ′ . . . u m 1 f ′ . . . u r l f ′ . . . u K f ) ; Encoder is to this code word
Figure GDA00002230092500145
Carry out the IBRC coding, obtain
Figure GDA00002230092500146
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
Figure GDA00002230092500147
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
Figure GDA00002230092500148
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
Figure GDA00002230092500149
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
Figure GDA000022300925001410
M lIndividual element
Figure GDA000022300925001411
And n lIndividual element
Figure GDA000022300925001412
Negate, even negate, even u m 1 f ′ = mod 2 ( u m 1 f + 1 ) , u n 1 f ′ = mod 2 ( u n 1 f + 1 ) , The IBRC decoder passes through code word Obtained a new code word
Figure GDA000022300925001416
Wherein U i f ′ = ( u 1 f , u 2 f , . . . u n l f ′ . . . u m l f ′ . . . u K f ) ; 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
Figure GDA000022300925001418
R lIndividual element negate obtains accordingly To what obtain at every turn
Figure GDA00002230092500152
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
Figure GDA00002230092500153
In three elements
Figure GDA00002230092500154
Negate) resulting code word
Figure GDA00002230092500155
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
Figure GDA00002230092500156
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.
CN 201019146037 2010-02-05 2010-02-05 Channel coding method for enhancing transmission quality of fountain code on wireless channel Expired - Fee Related CN101807975B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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