Flexible Outer Reed-Solomon Coding on RLC Layer for MBMS over GERAN Hrvoje Jenkac, Günther Liebl, Thomas Stockhammer
Wen Xu
Institute for Communications Engineering (LNT) Munich University of Technology (TUM) Munich, Germany {jenkac, liebl, stockhammer}@ei.tum.de
Siemens AG - Mobile Phones Munich, Germany
[email protected]
Abstract— In this work we present the MBMS framework for GERAN. Flexible outer Reed-Solomon coding is introduced in the GERAN MBMS environment. Performance estimations are presented. These performance estimations are used to compare the flexible RS coding scheme with simple repetition schemes. It is shown that at a target C/I of 7.5 dB a maximum throughput of 40 kbit/s can be supported. Applying the flexible Reed-Solomon coding we also show that, e.g. for a C/I of 15dB, even more than 90 kbit/s can be supported by MBMS.
I.
INTRODUCTION
For GERAN (GSM/EDGE Radio Access Network) Release 6 the introduction of Multimedia Broadcast Multicast Services (MBMS) is planned. MBMS targets simultaneous distribution of multimedia content to more than one user from a single serving base station over one common radio resource. In addition to the already existing PDTCH (Packet Data Traffic CHannel) for point-to-point (p-t-p) transmission, a MDTCH (Multicast Data Traffic CHannel) is planned to support point-to-multipoint (p-t-M) transmission. Since individual retransmissions as in the acknowledged mode of GPRS cannot be supported in p-t-M transmission, new coding and transmission schemes have to be introduced to provide satisfying and reliable services for most users. Initially proposed methods such as “repetition redundancy” result in insufficient throughput and will therefore limit the application of MBMS. Therefore, the authors have proposed outer Reed-Solomon coding on the RLC layer for MBMS over GERAN. Thereby the flexibility of RS codes is used to adapt to different application requirements as well as different channel conditions. In this work we will present the MBMS framework and briefly discuss initial solutions. Outer Reed-Solomon coding is then introduced in the GERAN framework and performance estimations are presented. Finally, these performance estimations are used to compare the flexible RS coding scheme with simple repetition schemes.
II.
music streaming (web radio), video concert, sports replay, or file sharing. In [1], requirements and recommendations on possible MBMS– specific extensions to the Radio Access Network (RAN) are listed. Among others, it is stated that individual retransmissions will not be supported, i.e. the widely used and accepted acknowledged mode for p-t-p services within GERAN cannot be used. According to [2], MBMS solutions to be adopted should minimize the impact on the RAN physical layer and maximize the reuse of existing protocols and functionalities.
B. Framework and Protocol Stack Figure 1 shows the typical processing of (RTP/UDP/)IP packets at the various stages of the traditional GPRS protocol stack1: After optional header compression at the SNDCP and framing at the LLC layer, the resulting SDU at the RLC layer is split up into equal-sized segments of length L bytes. The segment size depends on the used coding scheme at the physical layer (see Table 1). In order to avoid stuffing in the final segment of an RLC-SDU, the remaining byte positions are often filled up with data from the next RLC-SDU. Each segment is then mapped onto the data part of an RLC/MAC block. Finally, a CRC is appended before passing it to the channel encoder. The encoded block of constant size 456 bit is then interleaved over four bursts, which are mapped on the assigned timeslot in four successive TDMA frames2. At the receiver, channel decoding is performed on each of the received and deinterleaved blocks. Any residual bit errors are detected via the CRC, and the respective RLC/MAC block is commonly declared lost to avoid error propagation across layers. Since within MBMS no individual retransmissions are possible, the corresponding RLC-SDU (and thus the IP packet) cannot be recovered and would also be lost. Hence, the resulting application layer packet loss rates usually exceed the specified target of 10-2 to 10-3 for typical MBMS services.
MBMS FOR GERAN
A. Services and Requirements Via MBMS, simultaneous distribution of identical multimedia data to multiple receivers within one serving area shall be possible within the existing GERAN framework. The expected traffic is believed to be in the area of traffic telematics, weather information, news broadcast,
1
The EGPRS stack is similar, but among others offers a total of nine different coding and modulation schemes. 2 In case of multislot transmission, the above procedure is repeated for each of the M allocated timeslots.
RTP/UDP/IP header (40 bytes)
Payload
FH
RTP/UDP/IP packet
FCS
LLC frame
Segment (Lp bytes)
hea der
RLC data
RLC data
CRC
hea der
tail bits
Segment (Lp bytes)
Segment (Lp bytes)
hea der
RLC data
hea der
Encoded block
RLC data
CRC
tail bits
the LLC frame is segmented and mapped onto RLC/MAC blocks to be transmitted
RLC data
hea der
RLC data
Encoded block
Segment (Lp bytes)
CRC
tail bits
CRC protects header and payload
Encoded block
Physical layer
hea der
Segment (L p bytes)
RLC/MAC layer
Segment (Lp bytes)
LLC layer
RTP/UDP/IP packet
SNDCP layer
H
Physical channel
Figure 1. Traditional GPRS protocol stack.
C. Simple Solutions One of the first methods that have been proposed to reduce the packet loss rate is to use “repetition redundancy”. The lowest possible impact on the core network and the GERAN would be achieved by repeating each multimedia payload at the BM-SC3 exactly M times and map these replicas onto different RTP/UDP/IP packets. Hence, if at least one of the replicas is not lost at the lower layers, the respective multimedia payload can be recovered. An alternative proposal adds the redundancy in the RAN: each RLC/MAC block is repeated M times. Without soft combining, the receiver would just decode each replica of a block independently of all others, and the block can be recovered if at least one of the replicas is received correctly [3], [4], and [5]. However, as only codes with rate 1 M are realizable, all repetition strategies do not achieve sufficient throughput at the required MBMS packet loss rate target. Other proposals which aim at replacing the simple repetition code at the RLC layer with an “incremental redundancy”4 coding scheme [5] require significant changes in the RAN and are therefore not suitable for immediate deployment of MBMS.
III.
OUTER REED-SOLOMON CODING
In this section we will present a new approach for lowering the loss rate on p-t-M bearers while still achieving reasonable throughput and delay. Our solution is based on outer Reed-Solomon coding at the RLC layer and includes flexibility to adapt to varying channel and/or application characteristics.
A. Reed-Solomon Codes for Packet Erasure Channels Reed-Solomon (RS) codes are non-binary cyclic codes which are defined over Galois field (GF) 2q and have length N = 2q − 1 . Since they belong to the class of maximum distance separable (MDS) codes, i.e. dmin = N − K (where K denotes the number of information symbols), they are optimal in terms of erasure correction 3
4
Broadcast and Multicast Service Center
Although within the standardization this scheme is denoted as incremental redundancy, this terminology is misleading: The proposal is identical to use a new channel coding scheme with lower rate with a specific interleaver.
capability: As long as there are less than N − K lost symbols (at arbitrary positions) within a code word, decoding will be successful. If desired, encoding can be done in a systematic way and the generation of the redundancy symbols for a (N , K , q ) systematic RS code is, for example, explained in [6]. Decoding is typically performed using the Berlekamp-Massey algorithm as described in [7]. For our approach, we have decided to use only RS codes defined over GF( 28 ), which corresponds to a code word length of N = 255 symbols. Thus, each symbol corresponds to q = 8 bits or one byte, which is the basic unit in packet transmission.
B. Flexible Coding by Shortening and Puncturing In order to support arbitrary code word lengths n ≤ N = 2q − 1 , RS codes can be shortened while still maintaining their error and erasure correction properties. In particular, any (n = N − K + k , k ) shortened RS code can be derived from a (N , K ) systematic RS code by simply inserting K − k dummy symbols, e.g. zeros, before the k ≤ K information symbols at the input of the encoder. Of the N symbols generated at the output, only the last k systematic symbols and the first N − K = n − k parity symbols are transmitted, while the K − k dummy symbols are discarded. At the receiver these (known) dummy symbols are then reinserted into the received block before decoding. Although shortening reduces the effective code rate (and thus the achievable throughput), a decrease in the code word length reduces the maximum delay. In addition, a (N , K ) RS code can be punctured to get any (n, K ) code with K ≤ n ≤ N by discarding any N − n of the N code symbols (usually the last part of the code word is not transmitted). The discarded symbols are treated as erasures at the decoder. Hence, the correction capability of the code decreases, while the effective code rate and the achievable throughput increase. In summary, by specifying a single (N , K ) mother code over GF( 2q ), any (n, k ) RS code with k ≤ n ≤ N and 1 ≤ k ≤ min(K , n ) can be generated by using only a single encoder, a single decoder, and applying the simple operations puncturing and shortening. Both encoder and decoder operate on a single mother code (N , K ) , which is especially beneficiary in case of decoder hardware implementation. Furthermore, this approach allows a trade-off between the level of erasure protection, the achievable throughput, and the maximum delay as shown later.
C. Integration of RS Codes in MBMS Framework As already outlined, we propose to add RS coding at the RLC layer to overcome the large number of discarded RLC/MAC blocks due to residual bit errors. Since the loss of a single RLC/MAC block affects all bytes it contains, all symbols in a RS code word must be placed into separate blocks in order to avoid multiple erasures. A possible interleaving strategy that allows performing sequential processing of every arriving RLC-SDU segment is as follows: Let the (possibly shortened and punctured) RS code over GF( 28 ) have parameters ( n, k ) . Thus, at the transmitter a set of k successive RLC-SDU segments of length L in bytes is written column-wise into a blockinterleaver with L rows and n columns. A copy of each segment is also mapped to the data part of one RLC/MAC block and forwarded to the physical layer as usual. After all k segments have been proc-
essed, RS encoding is performed row-wise on the data in the interleaver such that each row contains a valid codeword of length n in bytes. The last n − k columns containing the interleaved parity symbols are read out column-wise and are then mapped on the data part of n − k successive RLC/MAC blocks. The latter are forwarded to the physical layer as usual. The interleaver is now cleared and the procedure starts again for the next set of k successive RLCSDU segments. The RLC entity at the receiver has a deinterleaver of same size L ⋅ n , which is filled column-wise with the data part of every correctly received RLC/MAC block. In case of a discarded block, the respective column is filled with erasure markers. After the deinterleaver has been completely filled with data and/or erasure markers, the total number of erased columns is determined. If the latter is less than or equal to n − k , decoding of each row is performed and the restored k RLC-SDU segments are read out column-wise and are forwarded to the reassembly unit. In case of too many erasures, the RLC-SDUs corresponding to the erased segments cannot be reassembled as in the no-coding case. We want to mention at this point that there exist alternative strategies when it comes to designing an interleaver for this outer coding scheme. However, the choice presented here only requires minimal changes of the already existing data flow structure in the RLC layer of GERAN. In addition to the large coding gain that can be achieved by using this outer RS coding scheme instead of simple repetition coding, we also want to emphasize one beneficial side effect of our system design: If we make use of the single mother code approach discussed in the previous section, we get an inherent flexibility in the choice of the RS code parameters, which allows to quickly adapt to varying channel and/or application characteristics.
put, the residual RLC-SDU frame error rate and the maximum delay of the presented schemes are evaluated in the following. The throughput is defined as the maximum transmission data rate which is supported by a specific error control scheme in bit/s. Furthermore, we define the delay as the maximum algorithmic delay necessary to transmit a RLC-SDU over one of the presented schemes, i.e. the time difference between transmitting the first byte of this RLC-SDU and the last redundancy byte of this RLC-SDU. In what follows we will assume statistically independent RLC/MAC block losses, which is a fairly good assumption for systems with frequency hopping enabled.
B. Performance of Repetition Schemes Given the loss probability p of an RLC-MAC block the resulting error rate for the M-times BM-SC repetition (which is equivalent to RLC-SDU repetition in this analysis) can be estimated as S M PS = 1 − ( 1 − p ) L .
For M-times repetition of RLC/MAC blocks the residual error rate can be estimated as
PS = 1 − ( 1 − p M
S
) L .
The throughput for both repetition schemes can be estimated as
Z =
8⋅L . T ⋅M
For both repetition schemes we obtain the following delay:
S D = M ⋅T . L
D. Complexity Considerations
C. Performance of Outer RS Coding
A major concern of providers and vendors is the reuse of existing infra-structure on the network side. Therefore, the RS encoding should be feasible with existing base station hardware. The complexity at terminal side is less critical as the service will require new handhelds anyways. In [8] limits on the memory and processing requirements for the base station and the user terminal have been provided based on the proposed outer RS codes. At the base station processing is thought to be approximately 6 MIPS, typical memory requirement would be in the region of 11 kbytes per downlink slot. Similar values have also been derived for the user terminal. This shows that the total memory and processing requirements are relatively low compared to the capabilities of modern processors. Both, the encoding and decoding processes can be implemented in software and it is believed that no new hardware would need to be installed at the base station for the outer code. In addition, the specification of a single mother code would allow a simple hardware implementation of a RS decoder in the UE for different coding parameters.
For the scheme with outer RS coding a similar estimation can be found. In this case, however, we first derive the loss rate of an RLCSDU segment, which corresponds to a RS code symbol after decoding. This can be estimated as
IV.
PERFORMANCE ANALYSIS
A. Performance Measures In order to compare the performance of the proposed RS outer coding scheme with the simple repetition solutions, the achievable through-
pS =
n n i 1 p ( 1 − p )n −i . i i n i =n∑ −k +1
Then, considering that the RLC-SDUs after decoding are still lost statistically independent the residual RLC-SDU error rate can be estimated as
PS = 1 − (1 − ps ) S / L . For the RS scheme the throughput can be estimated as
Z =
k 8⋅L⋅M ⋅ . n T
Finally, the delay of the RS scheme can be estimated as:
D = ( γ + n − k + n ( β + 1 ) )T , with
S α − 1 α = , β = , and γ = ( α − 1 ) mod k . L k
V.
PERFORMANCE RESULTS
A. Test Scenarios In the following we will present performance estimations for typical scenarios. For this, we have gathered RLC frame loss rates for all four GPRS coding schemes over a TU03 channel with ideal frequency hopping at C/I=7.5 dB5. This is summarized in Table 1 along with the used RLC data unit size L for each coding scheme (CS).6 Table 1 RLC data unit size and RLC/MAC block loss rates at different C/I and different coding schemes with ideal frequency hopping.
Data unit size L
7.5dB
10 dB
15 dB
CS 1
20 bytes
0.119
0.03
0.003
CS 2
30 bytes
0.357
0.15
0.011
CS 3
36 bytes
0.502
0.271
0.034
CS 4
50 bytes
0.912
0.777
0.397
The results for C/I=7.5dB are shown in Figure 2. Note that only dots represent realizable coding schemes, the connecting lines are just for illustration purposes. The results indicate that the RS coding scheme allows for a significantly higher throughput than the repetition schemes at some target error rate. Furthermore, RLC repetition performs better than BM-SC repetition. It is also shown that RS codes with longer n can provide significant gains compared to short codes as, for example, proposed for UTRAN [11] with n=16. However, the gains when increasing n from, e.g. 128 to 255 , are not significant any more, but delay and memory requirements still increase linearly. This justifies the use of the (255,128) single mother code, which only allows full flexibility up to n=128. Delay versus RLC−SDU size S 8000 RLC/MAC rep. CS1, M=5 Outer Coding, CS1, n=16, k=8 Outer Coding, CS1 n=128, k=98
7000
6000
B. Worst-Case System Dimensioning The presented results show the residual RLC-SDU error rate versus throughput for different parameter settings for the typical mobile radio channel TU03 (Typical Urban at 3 km/h vehicle speed), and single slot transmission with C/I = 7.5dB, exemplary as the worst C/I to be supported in MBMS. The equations according to the previous sections have been applied for coding scheme CS1 which provides the best results at this low C/I. For the repetition schemes the parameter M, the number of repetitions, is varied to trade off throughput versus error rate. M is selected as M=1,2,3, …. In case of the RS coding schemes for fixed n, the parameter k is varied accordingly as k=1,2,3,…n by applying shortening and puncturing. In our set of experiments we assume single slot transmission and a constant SDU size of S=500 bytes. RLC−SDU error rate vs. throughput for TU03, CS1, C/I=7.5 dB, FH=1, and S=500.
0
10
BM−SC repetition RLC repetition Outer coding n= 16 Outer coding n= 64 Outer coding n=128 −1
RLC−SDU error rate
10
−2
10
−3
10
Delay D in ms
5000
4000
3000
2000
1000
0
0
500
1000
1500
RLC−SDU size S in bytes
Figure 3. Worst case RLC-SDU delay versus RLC-SDU size.
In Figure 3 the worst case RLC-SDU delay versus RLC-SDU size is shown. M, n and k are selected such that a residual RLC-SDU error rate of 0.1% is achieved for an RLC/SDU block length S=500 byte with CS1. The required worst cast delays for S=500 byte result in D=2500ms for the RLC-MAC repetition scheme, D=1440ms for the (16,8) RS scheme and D=3640ms for the (128,98) RS scheme. For all evaluated schemes, the delay is increasing with increasing RLC/SDU size. The “staircase”-characteristic of the RS (16,8) scheme results from the short code length, which yields in the transmission of 8 redundancy packets after 8 information packets. For higher n = 128, the throughput performance due to the better code for higher n provides significantly enhanced throughput, but the maximum delay increases up to 4640 ms, which is about 1s higher than for the n=16 code. However, this delay is not critical for most MBMS applications.
C. Code Parameter Adaptation −4
10
0
1
2
3
4 5 Throughput in kbit/s
6
7
8
Figure 2. RLC-SDU error rate vs. throughput for TU03 with FH, S=500, CS1, and C/I = 7.5dB. 5
Due to imperfections in the RF part of the transmitter and receiver, a 2dB margin has to be obeyed when stating simulated performance results. Hence, for the MBMS target of 9.5dB, discrete-time simulations at baseband have to be performed at 7.5dB. 6 We have assumed a minimum RLC header of length 2 octets for each RLC/MAC block.
As sometimes cells or entire areas are designed for much higher C/I than 7.5 dB, it might be interesting to evaluate the gains if we adapt the RS coding parameters to increase the throughput. We investigate the case with C/I=10 dB and C/I=15 dB. Whereas at C/I = 7.5dB only CS1 is used, for better channels, e.g. at C/I = 10dB, the throughput can be enhanced significantly by changing the coding scheme to CS2 and by adapting the coding parameters. Assuming a target SDU error rate of 0.1%, Table 2 shows the optimal coding parameters for different schemes. From Table 2 as well as Figure 4, it is obvious that a
flexible scheme can provide significantly enhanced throughput in case of an adaptation of the RS coding parameters to the current C/I. RLC−SDU error rate vs. throughput for TU03, CS2, C/I=10.0 dB, FH=1, and S=500.
0
10
BM−SC repetition RLC repetition Outer coding n= 16 Outer coding n= 64 Outer coding n=128 −1
RLC−SDU error rate
10
−2
10
−3
10
−4
10
0
2
4
6 Throughput in kbit/s
8
10
12
ACKNOWLEDGMENT
10
−1
RLC−SDU error rate
The authors would like to thank Chris Rattray, Leonardo Provvedi, Jürgen Schachinger, Werner Kreuzer, and Andreas Arnold for helpful discussions on the subject.
BM−SC rep. CS2 RLC rep. CS2 Outer coding CS2 n=16 Outer coding CS2 n=64 Outer coding CS2 n=128 BM−SC rep. CS3 RLC rep. CS3 Outer coding CS3 n=16 Outer coding CS3 n=64 Outer coding CS3 n=128
10
REFERENCES [1]
−2
10
−3
10
−4
0
2
4
6 8 Throughput in kbit/s
10
12
14
Figure 4. RLC-SDU error rate vs. throughput for TU03 with FH, S=500, CS2, M=1, and C/I = 10dB, and for C/I=15 dB with CS2 / CS3 Table 2 Optimal RS coding parameters and GPRS coding schemes using different MBMS coding strategies and operating at different C/I; target SDU error rate is 0.1%.
Scheme
BM-SC repetition
RLC repetition
C/I = 7.5 dB
CS1, Mopt= 161
C/I = 10 dB
CS1, Mopt = 2
CS1, Mopt = 4 CS1, Mopt = 3
C/I = 15 dB
CS2, Mopt = 4
CS2, Mopt = 3
CONCLUSIONS AND OUTLOOK
In summary, outer RS coding at the RLC layer for MBMS over GERAN promises data rates for p-t-M close to the acknowledged mode in p-t-p with relatively simple encoder and decoder operations and acceptable delay. At a target C/I of 7.5 dB, SDU error rate of 0.1%, the combination of 6 radio slots yields about 40 kbit/s maximum throughput, whereas for C/I=10dB more than 50 kbit/s can be expected and for C/I=15dB even more than 90 kbit/s can be expected. In addition, the introduced flexibility allows adaptation to application and channel characteristics. Future work includes the exact specification of encoding operations, signaling of the channel quality in p-t-M scenarios, signaling of coding parameters, better adaptation to background traffic transmission, extensions to EGPRS, as well as advanced decoding strategies.
RLC−SDU error rate vs. throughput for TU03, CS3, C/I=15.0 dB, FH=1, and S=500.
0
10
VI.
RS code, n=16
RS code, N=64
RS code, n=128
CS1, kopt = 8
CS1, kopt = 46
CS1, kopt = 98
CS2, kopt = 7
CS2, kopt = 43
CS2, kopt = 93
CS3, kopt = 12
CS3, kopt = 55
CS3, kopt = 116
3GPP TR 25.992-140, “Multimedia Broadcast/Multicast Service (MBMS); UTRAN/GERAN requirements”. [2] TSG GERAN Tdoc GMBMS-0300002, “Performance of MBMS Radio Bearers”, Nokia, TSG GERAN MBMS Workshop, Espoo (Finland), 1213 May 2003. [3] TSG GERAN Tdoc GMBMS-0300007, “On MBMS bearer definition”, Siemens, TSG GERAN MBMS Workshop, Espoo (Finland), 12-13 May 2003. [4] TSG GERAN Tdoc GMBMS-0300014, “Bit rate and retransmission aspects for p-t-m MBMS in GERAN”, Ericsson, TSG GERAN MBMS Workshop, Espoo (Finland), 12-13 May 2003. [5] TSG GERAN T-doc GMBMS-030008, “New channel coding schemes for MBMS”, Siemens, TSG GERAN MBMS Workshop, Espoo (Finland), 12-13 May 2003. [6] S. Lin and D. J. Costello, Error Control Coding,: Fundamentals and Applications, Englewood Cliffs, N.J.: Prentice Hall, Inc., 1983. [7] G. D. Forney Jr., "Burst-Correcting Codes for the Classic Bursty Channel," IEEE Transactions on Communications, vol. COM-19, October 1971. 772-781. [8] TSG GERAN Tdoc GP-032613, “Complexity estimate for Outer Coding in the RLC layer: Encoding and Decoding with Reed-Solomon codes”, Siemens, TSG GERAN #17, Budapest (Hungary) 17-21 November 2003. [9] TSG GERAN Tdoc GP-032100, “Outer Reed-Solomon Coding on RLC Layer for MBMS over GERAN”, Siemens, TSG GERAN #16, New York (USA), 25-29 August 2003. [10] TSG GERAN Tdoc GP-032101, “Outer coding on RLC layer for MBMS over GERAN: Extension to multislot mode”, Siemens, TSG GERAN #16, New York (USA), 25-29 August 2003. [11] R1-02-1410, “On support for Outer coding”, Qualcomm, RAN1#29, Shanghai (China), 5-8 November 2002.