ebook img

Enhanced Recursive Reed-Muller Erasure Decoding PDF

0.22 MB·
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Enhanced Recursive Reed-Muller Erasure Decoding

Enhanced Recursive Reed-Muller Erasure Decoding Alexandre Soro1, Je´roˆme Lacan1 , Vincent Roca2, Valentin Savin3 and Mathieu Cunche2,4 1Univ. of Toulouse, ISAE/DISC, 10 avenue Edouard Belin, BP 54032 - 31055 Toulouse cedex 4 - FRANCE 2INRIA Rhone-Alpes, Privatics team, Inovalle´e, 655 av. de l’Europe, Montbonnot, 38334 St Ismier cedex - FRANCE 3CEA-LETI, MINATEC Campus, 17 rue des Martyrs, 38054 Grenoble - FRANCE 4INSA-Lyon, Laboratoire CITI 6 Avenue des Arts, 69621 Villeurbanne - FRANCE Email: [email protected], {vincent.roca,mathieu.cunche}@inria.fr,[email protected] Abstract—Recent work have shown that Reed-Mu¨ller (RM) packet erasure channel which obtain performances very close codesachievetheerasurechannelcapacity.However,thisperfor- to the capacity. For that, we extend some results presented in 6 manceisobtainedwithmaximum-likelihooddecodingwhichcan [15]. The decoding algorithm make use of various structural 1 be costly for practical applications. In this paper, we propose properties of Reed-Mu¨ller codes like the Plotkin recursive 0 an encoding/decoding scheme for Reed-Mu¨ller codes on the 2 packeterasurechannelbasedonPlotkinconstruction.Wepresent decomposition [16] and the doubly transitive permutation several improvements over the generic decoding. They allow, group. A similar technique was shown to obtain excellent n for a light cost, to compete with maximum-likelihood decoding decoding performance on the Gaussian channel [5]. Our main a performance, especially on high-rate codes, while significantly J contributionistoshowthat,whenusedinadifferentwayand outperforming it in terms of speed. 6 combined with additional tools (partial information passing 2 I. INTRODUCTION and blank decoding), this techniques yields decoding perfor- Introduced in 1951 by Mitani [1] and popularized by Reed mance close to maximum likelihood on the packet erasure ] T [2] and Mu¨ller [3], Reed-Mu¨ller codes are still used in many channel with a very low complexity cost. I applications(e.g.[4]).Theirstructuralpropertiesallowtheuse In the next Section, we present the Plotkin construction of s. of very simple but efficient coding and decoding algorithms. Reed-Muller codes and then our algorithm. In Section III, c Traditionally, Reed-Mu¨ller codes were mainly considered for we compare the recovering performance and the speed of [ the Gaussian channel because they are able to reach their our decoding algorithm to the ML decoding with Gaussian 1 Maximum-Likelihood (ML) decoding performance with fast Elimination (GE). Finally, we draw some conclusions and v soft decision decoding algorithms [5], [6], [7]. But recently, perspectives for this algorithm. 8 very interesting results have shown that Reed-Mu¨ller codes 0 achieve the capacity of the erasure channel [8], [9]. These II. PROPOSEDDECODINGALGORITHM 9 6 results were followed by new contributions on decoding algo- A. Introduction to Reed-Muller codes 0 rithms of these codes [9], [10]. . Capacity-achieving erasure codes have interesting practical Reed-Muller codes defined by parameters r and m, where 1 0 applications. For example, they are used on higher layers r ≤ m, are denoted by RM(r,m). The dimension k, and 6 of communication protocols stacks for multicast or real-time the length n of RM(r,m) are given by k = (cid:80)ri=0(cid:0)mi(cid:1) and 1 transmissions [11]. In this context, the data are transmitted n=2m. v: into packets and the erasure code is used to generate repair One way to construct Reed-Muller codes is to use the i packets from information packets. On the channel, called recursive decomposition introduced by Plotkin. For any m, X packet erasure channel, each packet is correctly received or RM(0,m) is defined as the repetition code and RM(m,m) ar erased. Classically, packet erasure codes are Fountain codes is the identity code. In the general case, for 0 < r < m, [12], LDPC codes [13] or MDS (Reed-Solomon-based) codes any codeword a∈RM(r,m) can be uniquily built from two [14]. codewords u ∈ RM(r,m−1) and v ∈ RM(r−1,m−1). The main issue concerning the use of Reed-Mu¨ller codes Precisely, we have: on the packet erasure channel is that the traditional decoding algorithm achieving the capacity is based on an inversion RM(r,m)={(u|u+v),u∈RM(r,m−1), (throughaGaussianelimination)ofthesubmatrixofgenerator v ∈RM(r−1,m−1)} matrix corresponding to the received symbols and a matrix- vector multiplication. The gaussian elimination, which has a By using the above decomposition in a recursive manner, cubiccomplexity,isdoneonlyonceforacodewordofpackets it follow that any RM code can be built from repetition and but the matrix-vector multiplication is done z times, where z identitycodes.ThisalsoimpliesthatanyRM(m−1,m)code is the size of the packets. This operation can be very costly is a Single Parity Check (SPC) code. when the code length increases. Over the erasure channel, a codeword a is received with The main contribution of this paper is to propose a sub- some erased positions. One can try to decode u and v with quadratic decoding algorithms of Reed-Mu¨ller codes for the a=(u|u+v) recursively. For example, if a ∈ RM(1,3), we have u ∈ RM(1,2), Firstwecannoticethatthevectorbisuseless.Indeed,fora whichisanSPCcode,andv ∈RM(0,2),whichisarepetition receivedworda=(u|u+v),theknownpositionsofv arethe code. Therefore, u can be decoded if it has at most one positions where ai and ai+n are known. We can observe that 2 lost position, and v can be decoded if at least one of its the number of known positions of v will not change when the positionisknown.Moreover,decodingnewpositionsoneither vector b is added to all positions. Without loss of generality, u or v can reveal some new positions on the other vector, in the following, we restrict ourselves to the set of invertible as we have an2+i = ui + vi, for any 0 ≤ i ≤ n2. This matrices A, i.e. the general linear group GL(m,2). For all decoding decomposition will be referred to as the classical binary invertible matrices of size m, we have to process the recursivealgorithm.Bynature,thisalgorithmhasaO(nlogn) images of the n positions. Following [17] which gives the complexity. number of invertible matrices of size n, the complexity of testing all possible matrices corresponding to a permutation B. Permutation Decoding of size n is roughly O(n×0.29×2log2n). One interesting property of RM(r,m) codes is that they In order to avoid such a prohibitive cost, we propose a admitthegeneralaffinegroupGA(m)asapermutationgroup lowercomplexityalgorithm.Insteadoftestingthewholesetof [17]. In other words, if a = (a0,a1,...,an−1) ∈ RM(r,m), invertible matrices, we only select the matrices that leave the then a(cid:48) = (a ,a ,...,a ) ∈ RM(r,m), where n leftmost positions, i.e. the vector u, invariant. It means that Π(0) Π(1) Π(n−1) 2 Π(x)=Ax+b,Aisam×mbinaryinvertiblematrixandba theirfirstm−1columnscorrespondtothefirstm−1columns vector of (F2)m. This group is known to be doubly-transitive, of the identity matrix. Hence, the number of permutations i.e. there exists a permutation that sends any pair of positions to be tested is equal to n, since corresponding matrices are 2 onto any other pair of positions. completely determined by their last column, which must be Itcanbeobservedthatthesuccessoftherecursivedecoding chosen outside the vector subspace spanned by the first m−1 depends on the erasure pattern. Applying some specific per- columns. For each of these permutations, as the leftmost mutation on a received word can make successful a decoding positions are invariant, only the images of the n rightmost 2 that has initially failed. The effects of permutations on the positions are processed. The complexity of testing this set of iterative erasure decoding was studied in [18] for cyclic and matrices for one permutation of size n is thus O(n2). The 4 extended cyclic codes, but not for general Reed-Mu¨ller codes. impact of this permutation selection on the global complexity Example : Let us consider that a received pattern of of the decoding process is discussed in Section II-D. a ∈ RM(1,3) is (a ,×,×,×,×,a ,a ,a ). Only one in 0 5 6 7 C. Partial Decoding u = (a ,×,×,×) is known thus it can not be decoded. 0 Moreover, no positions of v, obtained by summing u and Orthogonally to the previous point, we propose a second (u+v), are known. Decoding is then impossible. Using the improvement to the algorithm. One of the weaknesses of the permutation matrix rawrecursivedecodingalgorithmisthat,ifonerecursionfails,     the whole decoding fails. This is harmful for the performance 1 0 0 0 asforinstancearecursioninv canfailbutsomenewsymbols A=1 1 0 and b=0, from other recursions may have been recovered. We propose 0 0 1 0 to pass this partial recovered information to the higher levels the vector to be decoded is then a(cid:48) = of the recursion. (a ,×,×,×,a ,a ,×,a ) and thus u(cid:48) = (a ,×,×,×) For example, let a be decomposed by u and v, which itself 0 6 7 5 0 and u(cid:48) +v(cid:48) = (a ,a ,×,a ). By summing u(cid:48) and u(cid:48) +v(cid:48), is decomposed by v and v . Let the decoding of v succeed 6 7 5 1 2 2 we obtain v(cid:48) = (a +a ,×,×,×). Since v(cid:48) is a codeword and v fail. v may bring some new symbols to v, which 0 6 1 2 of the RM(0,2) which is the repetition code of length 4, can themselves bring new symbols to a and then improve the v(cid:48) =(a +a ,a +a ,a +a ,a +a ). By summing decoding of u. Finally, if u reveals new symbols, they can be decoded 0 6 0 6 0 6 0 6 v(cid:48) andthereceivedu(cid:48)+v(cid:48),weobtainanupdatedversion usefulforvandv andsoforth.Simulationresultshaveshown decoded 1 of u(cid:48), u(cid:48) =(a ,a +a +a ,×,a +a +a ). Since u(cid:48) thatmostofthetime(over95%),thenumberofrecursivecalls updated 0 7 0 6 5 0 6 belongstotheRM(1,2)whichisaSPCcode,wecandecode is two, especially for higher levels of recursion, which also it as u(cid:48) =(a ,a +a +a ,a +a +a ,a +a +a ). means that the use of this mechanism is limited. decoded 0 7 0 6 0 5 7 5 0 6 Wecanthenrebuildthedecodedversionofu(cid:48)+v(cid:48) andfinally apply the inverse permutation on a(cid:48) to obtain the decoded D. Blank Decoding word a. Unlike the previous improvements enhancing the decoding The key challenge in the previous example is to find a capability, ”blank decoding” is focused on speed. specific permutation, suited for the given erasure pattern. To explain this mechanism, let us consider a packet erasure Simulation results have shown that decoding is more efficient code generating n − k repair packets from k information by starting the decoding process with the decoding of v. As packets. By assuming that all packets have size z bits, the a consequence, the main point is to determine a permutation encoding of the packet code can be seen as the parallel which maximizes the number of received positions in v for a encoding of z binary codewords of size n. Each one of the n small complexity cost. transmitted packets contains exactly one bit of each of the z encoded vectors. The interest of this scheme is that the erased packets produce the same erasure pattern on all the binary codewords. In the decoding process of the packet code, this property is used to pool together operations that are common to the z decodings of the binary codewords. Actually, before each packet block decoding, a blank block (i. e. a block with packets of null size) decoding is processed withthereceivedlosspattern.Duringthisprocess,thedecoder searches the best permutation to apply and the best partial information passing strategy, according to the algorithms de- scribed above and records it. If this decoding succeeds, the actual decoding of the z binary codewords are simply done by following the path traced by the blank pattern. If the blank decodingfails,apartialdecodingmayhoweverbepossible.A Gaussian Elimination may also be attempted, also in a blank mode, either after or instead of this partial decoding. As seen previously, the main point is to find the permuta- Fig. 1. Decoding failure rate of GE and recursive algorithms in terms of tions recursively. Consequently the complexity of this blank extra-symbolsforRM(3,7) decoding is roughly O(n2logn), processed only once per packet block. This cost must be compared to the decodings of the z binary codewords (each one having a complexity Recursive GaussianElim. Recursive ML O(nlogn)). The impact of blank decoding on the global speed speed overhead overhead RM(3,6) 2021Mbps 842Mbps 5.41% 5.06% decoding complexity of a packet block is evaluated in next RM(3,7) 1073Mbps 544Mbps 8.59% 4.75% section. RM(4,7) 2393Mbps 381Mbps 3.45% 2.79% RM(4,8) 1363Mbps 215Mbps 9.08% 1.44% III. RESULTS RM(5,8) 2774Mbps 181Mbps 2.44% 1.17% RM(5,9) 1783Mbps 85Mbps 9.23% 0.45% We have compared our proposal with maximum likelihood RM(6,9) 3291Mbps 80Mbps 1.90% 0.47% decoding using Gaussian Elimination (GE) on an Intel Core RM(6,10) 3486Mbps 44Mbps 8.05% 0.18% 2 Extreme @3.06Ghz on Mac OS X 10.6 in 64-bit mode. Fig. 1 shows the decoding failure probabilities for RM(3,7) TABLEI DECODINGSPEEDANDOVERHEADFORVARIOUSRMCODES code (k = 64, n = 128), in terms of extra-packets. By extra-packets,wemeanthenumberofreceivedsymbolsabove the source block size k, which corresponds to the erasure channelcapacity.WecompareML,whichisoptimal,withour algorithm and the classical recursive algorithm. In addition, For this code, the speed up ratio between our code and we provide results for the recursive algorithm with only the GE is between 40x and 60x, depending on the packet permutation selection and only partial information passing. size. This variation can be explained by the fact that the We can see that our algorithm performs well compared to smaller is the packet size, the longer is the pre-decoding the optimal GE and requires only 3 extra-symbols in average phase compared to the actual decoding. This pre-decoding is to match the performances of GE. On the opposite, the raw more complex for GE (a cubic complexity matrix inversion) recursive algorithm is not able to recover anything with up than the blank decoding for the recursive algorithm. Note, to 20% of extra-symbols. For RM(3,7), the decoding speed however, that the blank decoding represents 86%, 38% and of both algorithms is provided in Table I. For the sake of 17% of decoding time for recursive decoding for packet sizes completeness, the encoding speed for the RM(3,7) code is of 50, 500 and 1500 bytes. It is worth pointing out that for in the order of 4Gbps, and the decoding speed of a Reed- the recursive decoding, only the encoded vector is recovered. Solomon code with the same parameters is around 350Mbps We do not take into account the final step which consists [14]. in recovering the source symbols from the whole encoded In Table I, we provide a comparison of the decoding speed vector, which is in the magnitude of 8 Gbps for this code, and the average overhead between GE and our algorithm and thus far faster than the decoding. for various Reed-Mu¨ller codes. All results are provided for packets of 1500 bytes. For the RM(6,9) (k = 466, n = 512) code, we compare Inhighcoderatesscenarios,ouralgorithmisabletodecode the decoding speed of GE with our implementation. We with only 1% − 2% more symbols than the optimal GE provide results for packets of 50, 500 and 1500 bytes which decoding. Depending on the target application, one may be represent classical VoIP, median Internet and LAN data units, interested to use this decoding algorithm, as it allows a ratio in Table II. of 5x - 20x decoding speed compared to GE. PacketSize RecursiveAlg. GaussianElim. SpeedRatio [18] T.Hehn,O.Milenkovic,S.Laendner,andJ.B.Huber,“PermutationDe- 50bytes 546Mbps 8Mbps 66x codingandtheStoppingRedundancyHierarchyofCyclicandExtended 500bytes 2463Mbps 51Mbps 49x Cyclic Codes.” IEEE Transactions on Information Theory, no. 12, pp. 1500bytes 3291Mbps 80Mbps 41x 5308–5331. TABLEII DECODINGSPEEDFORRM(6,9)CODEWITH5%OFEXTRA-SYMBOLS IV. CONCLUSIONS Inthiscontribution,wehavepresentedarecursivedecoding algorithm for Reed-Muller codes based on Plotkin construc- tion. We have shown that the permutation selection and the blank decoding dramatically improve the performances of the decoder. In many scenarios, our algorithm can achieve decoding performance close to the capacity, while achieving speedsofseveralGbps.Becauseoftheirhighdecodingspeed, Reed-Mu¨llercodesareaninterestingalternativeforthepacket erasure channel, when the decoding cost is a bottleneck (e.g. in low power devices and real-time applications). REFERENCES [1] N.Mitani,“OntheTransmissionofNumbersinaSequentialComputer,” NationalConventionofInst.ElectEngineersofJapan,1951. [2] I. Reed, “Decoding of Reed-Muller Codes with a Large Number of Errors,”IEEETransactionsonInformationTheory,no.4,1954. [3] D.Muller,“ApplicationofBooleanalgebratoswitchingcircuitdesign andtoerrordetection,”IRETrans.Electron.Comput.,no.3,1954. [4] ETSI,“DigitalVideoBroadcasting(DVB);Secondgenerationframing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications(DVB-S2),EN302307,”2004. [5] I. Dumer and K. Shabunov, “Soft-decision decoding of Reed-Muller codes: recursive lists.” IEEE Transactions on Information Theory, vol.52,pp.1260–1266,2006. [6] ——, “Recursive and permutation decoding for Reed-Muller codes.” IEEEInternationalSymposiumonInformationTheory,p.146,2002. [7] Y. Oster, J. Lacan, and A. Duverdier, “Benchmark of Reed-Mller CodesforShortPacketTransmission,”inProceedingsofthe25thAIAA InternationalCommunicationsSatelliteSystemsConference,April2007. [8] S.Kumar,S.Kudekar,M.Mondelli,H.D.Pfister,E.Sasoglu,andR.L. Urbanke,“Reed-MullerCodesAchieveCapacityonErasureChannels,” vol.abs/1601.04689,january2016. [9] E. Abbe, A. Shpilka, and A. Wigderson, “Reed-Muller Codes for Random Erasures and Errors,” in Proceedings of the Forty-Seventh Annual ACM on Symposium on Theory of Computing, ser. STOC ’15, 2015. [10] R. Saptharishi, A. Shpilka, and B. L. Volk, “Decoding high rate Reed-Muller codes from random errors in near linear time,” vol. abs/1503.09092,2015. [11] C. Ha¨nle, “Feasibility study of erasure correction for multicast file distributionusingthenetworksimulatorns-2,”IEEEMilitaryCommu- nicationsConference,vol.3,pp.1260–1266,1998. [12] M. Luby, A. Shokrollahi, M. Watson, and T. Stockhammer, “Raptor Forward Error Correction Scheme for Object Delivery,” RFC 5053 (ProposedStandard),IETF,Oct.2007. [13] V. Roca, C. Neumann, and D. Furodet, “Low Density Parity Check (LDPC) Staircase and Triangle Forward Error Correction (FEC) Schemes,”RFC5170(ProposedStandard),IETF,Jun.2008. [14] J.Lacan,V.Roca,J.Peltotalo,andS.Peltotalo,“Reed-SolomonForward Error Correction (FEC) Schemes,” RFC 5510 (Proposed Standard), IETF,Apr.2009. [15] A. Soro, “Me´canismes de fiabilisation pro-actifs,” Ph.D. dissertation, UniversityofToulouse,december2010. [16] M. Plotkin, “Binary codes with specified minimum distance,” IRE TransactionsonInformationTheory,vol.6,pp.445–450,1960. [17] F.J.MacWilliamsandN.J.A.Sloane,TheTheoryofError-Correcting Codes. North-Holland,1977.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.