Design and Evaluation of a Multilevel Decoder for Satellite ... - CiteSeerX

4 downloads 0 Views 284KB Size Report
codes; mutual information; satellite communications. I. INTRODUCTION. Broadcast communication systems with high throughput are getting more and more ...
Design and Evaluation of a Multilevel Decoder for Satellite Communications Aharon Vargas, Marco Breiling

Wolfgang H. Gerstacker

Fraunhofer Institute for Integrated Circuits (IIS) Erlangen, Germany [email protected]

Institute for Mobile Communications University of Erlangen-Nuremberg Erlangen, Germany [email protected]

Abstract—In this paper, we propose a multilevel coding (MLC) scheme suitable for satellite communications, where different QoS levels are required. We introduce a novel characterization of schemes based on mutual information, called multi-stage decoder (MSD) charts, to aid in the design and evaluation of multilevel coding systems. This characterization method finds the optimal set of code rates for the MLC scheme for a set of required SNR operation points. On the other hand, fixing the code rates to find out the operation points of SNR is also possible. Performance of common mapping strategies used in MLC schemes, as block labeling and Ungerböck labeling, are evaluated using MSD charts. An established transmission scheme for satellite broadcasting, European Satellite Digital Radio (ESDR) standard, is compared with the proposed MLC scheme, showing that the MLC scheme is able to work in lower SNR regions and provides more flexibility in designing the levels. Keywords-Information rates; iterative decoding; multilevel codes; mutual information; satellite communications

I.

INTRODUCTION

Broadcast communication systems with high throughput are getting more and more popular in last years, especially satellite broadcast systems, for which some standards have been recently released, e.g. the ETSI Satellite Digital Radio (ESDR) standard [1,2], and the Digital Video Broadcasting Satellite Handheld (DVB-SH) standard [3]. A special requirement is becoming very important for these systems: configurable content-dependent quality of service (QoS). Different QoS for different content is desirable when multimedia information is broadcast. This can be accomplished by splitting the services in different data pipes, each one with a different protection level and latency. The flexibility to choose the protection levels is given by the set of code rates available in the forward error correction (FEC) coding block and the interleaver profile. On the other hand, hierarchical modulation in combination with the concept of multilevel codes [4] provides implicitly different levels of protection for each bit fed into the mapper. Another important characteristic of satellite communication systems is that the satellite link is characterized by low signalto-noise ratio (SNR) conditions, even in the presence of line of sight (LOS). That means, powerful error correction codes are required to enable an error-free reception under these poor channel conditions. Turbo codes [5] and low density parity

This work has been supported by the Fraunhofer Institute for Integrated Circuits, which is carrying out research work in satellite communications.

check (LDPC) codes [6] can be employed for reliable communication at operating points near to the Shannon limit, rendering them ideal for satellite communications. We propose a system concept, where multilevel codes are used in combination with high performance FEC blocks. 3GPP2 turbo codes [7] are taken as example of FEC codes in this paper. Previous analysis of MLC schemes can be found in [8], where each level is evaluated employing equivalent channels, and the FEC block is assumed ideal, i.e., achieves capacity. We propose a novel way to characterize the decoding capability of practical FEC blocks, making use of the concept of extrinsic information transfer (EXIT) charts [9], and determining the optimal operation point of each level. Long simulations are avoided, simplifying the design and evaluation of the receiver. In addition, multi-stage decoding (MSD) charts are introduced as a graphical tool to design the levels, where the available and maximum decoding capacity of the receiver are plotted. This paper is organized as follows. Section II introduces the proposed system concept including encoder and decoder. The method used to design and evaluate the multilevel (ML) decoding receiver is presented in Section III. Simulation results are provided in Section IV in order to demonstrate the benefits of the proposed design method, and some conclusions are drawn in Section V. II.

SYSTEM MODEL

A. Multilevel Encoder In modern broadcasting systems, different levels of QoS are required. Typically, a different level of protection is necessary for each service. In the proposed multilevel encoder shown in Fig. 1, a set of symbols of data services D={D1,…,Dn} is encoded in parallel, where different QoS is provided by two mechanisms: a) independent code rates R1,…,Rn for each level, and b) unequal error protection for each input bit to the mapper. The first mechanism is associated to the inner encoder, producing codewords with different code rates. For example, several turbo encoders with an identical mother code followed by different puncturing modules may be applied as proposed in the ESDR standard. This delivers different data streams, which are interleaved independently using different interleaver profiles depending on the required QoS.

according to the same rule used before. The process continues until cn,1 is read. Then, the subset size is reduced to only one element, resulting in the output signal point x1, and the process starts again with c1,2. In general, the size of each subset for a level i is given as

X (c1, k c 2, k ...c i , k ) = 2 n −i .

(2)

The output symbols xk of the ML encoder are transmitted over an AWGN channel with received signal

yk = xk + nk ,

(3)

where nk is a complex-valued white Gaussian noise process with variance No/2 for both the real and imaginary part. Fig. 1. Multilevel coding system, composed by a multilevel encoder, a channel and a multistage decoder.

The second mechanism depends on the mapping scheme. Any set partitioning strategy is suitable at this point, because all of them provide different protection for each level. In this paper, we analyze the most common set partitioning strategies for MLC: Ungerböck labeling (UL) [10] and block labeling (BL) [8]. Regardless of the partitioning strategy, we demand that level 1 is always the best protected. This means, the first level must be decodable at equal or lower SNR than following levels. Defining SNRi as the minimum SNR needed to decode level i, the following rule must be satisfied: (1) SNR1 ≤ ... ≤ SNR i ≤ ... ≤ SNR n . Each level is additionally encoded by the same outer encoder with code rate R0. The purpose of this encoder is to identify whether the level was properly decoded. For example, turbo codes are typically used together with a block code, e.g. cyclic redundancy check (CRC) code, to flag the erroneous codewords. That means, the outer encoder can be omitted if already the inner decoder can find out if the codeword was successfully decoded. The redundancy introduced by the outer encoder will not be taken into account in the analysis, because it is the same for each level. After the encoder, each codeword Ci in the set of delivered codewords C={C1,…,Cn} is interleaved by a bit interleaver πi with different patterns in each level. This pattern can be used to achieve time interleaving. In the following, the standard mapping process of an MLC scheme is briefly described, cf. also [8]. The mapper reads in parallel n bits, one from each codeword to output a signal point x using a pre-defined mapping consisting of a set X of M=2n elements, which are divided into two subsets, X(0) and X(1), of 2n-1 elements each. The distribution of the elements in the subsets is determined by the partitioning technique. The codeword bits are denoted by ci,k, where i represents the level index of the codeword, and k the bit position inside the codeword. The first bit of codeword C1, i.e., c1,1, is used to select the appropriate subset according to X(0) if c1,1=0 and X(1) if c1,1=1. For example, we assume that c1,1=0. The subset X(0) is divided again into two subsets of 2n-2 elements each: X(00) and X(01). The first bit of the second codeword, c2,1, is then used to select between the subsets X(00) and X(01)

B. Multistage Decoder The MSD method [4] is employed at the decoder side of the multilevel coding system shown in Fig. 1. Decoding is performed in several consecutive stages where one level is decoded in each stage. The FEC block outputs hard decision bits, which are passed on to the next levels as a-priori information [8]. The demapper computes a-posteriori probabilities (APPs) on the codeword symbols ci,k for each level i based on the received signal yk. Conditional log-likelihood ratios (LLRs) are used to represent the APPs, expressed as

L(ci , k | yk ) = ln

P(ci ,k = 1 | yk ) P(ci ,k = 0 | yk )

.

(4)

Assuming that the coded bits are independent, which is approximately fulfilled due to the preceding interleaver, and applying Bayes’ rule, (4) can be written as L(ci , k | y k ) = La (ci , k ) 2 n −1 −1

⎛ 1 n −1 ⎞ | c* = v1 ( j, i ))exp⎜ ∑ (2 sb(v1 ( j, i ), l ) − 1)La (cl ,k )⎟ 2 j =0 ⎝ l =0 ⎠ + ln 2n −1 −1 ⎛ 1 n −1 ⎞ P( y k | c* = v0 ( j, i ))exp⎜ ∑ (2 sb(v0 ( j, i ), l ) − 1)La (cl ,k )⎟ ∑ j =0 ⎝ 2 l =0 ⎠ (5) where c* is the bit vector representation of the n input bits to the demapper. v0(j,i) and v1(j,i) are bit vectors of length n, where the bit in position i is equal to 0 and 1, respectively, and the other bits are equal to the binary representation of j. For example, for an 8-ary phase-shift keying modulation (8-PSK), v1(1,0)=[1,0,1], v1(2,0)=[1,1,0], and v1(1,1)=[0,1,1]. sb(v,l) is defined as the bit in position l of the binary vector v. La(ci,k) represents the available a-priori information on the coded bit ci,k, and is set to zero for any value of k for levels from i to n. For other levels, it is set to plus or minus infinity according to the output of the FEC block.

∑ P( y

k

The first level is demapped without any a-priori information (La=0) coming from the decoder. After the FEC block, the output information of the first level is fed back to the demapper to aid in the demapping of the second level, etc. In general, information of previous levels is used in the demapping of subsequent levels. That means, output

information from levels 1 to i-1 is fed back and used to demap level i, i.e., calculate the according LLRs. LLRs are then passed on to the bit de-interleaver πi-1, required to decorrelate the information that flows between demapper and decoder. Besides, in case of fading channels, the deinterleaver will spread unreliable consecutive symbols in the codeword. The re-encoding path is required in the feedback loop to feed the demapper with the corresponding a-priori information. This can be avoided if the FEC module is able to estimate also the encoded bits, as turbo decoders can do. In conventional iterative decoders, soft information is preferred for exchange between the modules. Also in our case, iterative decoders using soft information are applicable as FEC modules, but we use hard information for feedback to the demapper, which is optimal in case of MSD when (1) is satisfied. That is, if a level is decoded with errors, next levels will never be decodable (SNR too low), even if soft information is fed back. Besides, iterating between demapping and FEC when decoding a level makes no sense because always the same bit is demapped and decoded. The problem of error propagation in MSD is avoided using a good combination of outer and inner code. A cliff characteristic is preferred for the inner code, assuring in principle error-free decoding for SNRs above a certain threshold. In case of turbo codes, the error floor region can be eliminated using a block code with error correction capability, e.g. a BCH code [11], as outer code, where few errors in the codeword can be corrected. Besides, if a level i is not decodable because the SNR is not high enough, following levels from i+1 to n will run into the same problem, due to the design rule (1). The decoder complexity is reduced by using the same FEC block for all levels, which is possible because only one decoding process is performed in each stage. The decoding algorithm is defined as: loop from i = 1 to n - Demap level i using a-priori information from levels 1,...,i-1 - Inner decoder - Outer decoder (check if the decoded level i is error-free) - if error-free -> Re-encode level i - if not error-free -> stop decoding end The process continues until all levels have been decoded or until the outer decoder detects that one level was not successfully decoded. In this case, the decoding process stops saving the effort of decoding the higher layers. This leads to a significant reduction of decoding time in bad channel situations where just a few layers are decodable. III.

SYSTEM EVALUATION

We consider mutual information (MI) to evaluate the decoder capability of each level. The mutual information of two discrete random variables x and y is defined as

Fig. 2. Model used to calculate the mutual information Ii between the demapper output and the mapper input.

Fig. 3. Mutual information of all levels of a 32-APSK modulation.

⎛ P ( x, y ) ⎞ ⎟⎟ , I (x; y ) = ∑∑ P(x, y )log⎜⎜ ∀y ∀x ⎝ P1 (x )P2 ( y ) ⎠

(6)

where P(x,y) is the joint probability of x and y, and P1(x) and P2(y) are the marginal probabilities of x and y, respectively. A. Demapper Mutual information is used in order to know how much information is present at the output of the demapper under certain conditions of SNR [8]. Fig. 2 shows the model used to evaluate the demapper, where Di represents a random binary data vector for level i. The demapper input vector Y corresponds to the output of the AWGN channel, characterized by (3). This concept can be also applied to calculate the total channel capacity [8]. The mutual information between each element of the demapper output Li and the original data Di is calculated as

⎛ p (li , k , d i , k ) ⎞ ⎟ dli , k (7) , d i , k )log ⎜⎜ ⎟ ( ) ( ) p l p d d i ,k ∈{0 ,1} ℜ 1 i , k 2 i , k ⎝ ⎠ where i represents the level being demapped and Li is calculated using the a-priori information of the previous levels as described in Section II-B. Here p(li,k, di,k) denotes the joint probability density function (pdf) of li,k and di,k, and p1(li,k) and p2(di,k) are the corresponding marginal pdfs. The MI can be efficiently calculated in simulations using the Monte Carlo I i (li , k , d i , k ) =

∑ ∫ p (l

i,k

method. For a fixed SNR, each level exhibits a different MI because of two reasons: a) Mapping changes from level to level, and b) the amount of a-priori information is increasing for each additional level. Fig. 3 shows the mutual information of the 5 levels of a 32ary amplitude-phase-shift keying (32-APSK) constellation with BL partitioning. For a given SNR, the MI for each level is calculated. For a fixed SNR, the MI decreases as the level index increases, i.e., less information is carried by higher layers. Please note that in a 32-APSK with BL partitioning, the two first levels are similarly protected, containing almost the same amount of MI.

Fig. 4. Model used to calculate the MI generated by the FEC module.

B. FEC Block A similar method as for the demapper is used to evaluate the FEC block. The idea is to analyze the MI at the output of the FEC block, Iout, for a certain amount of input MI, Iin [8,9]. This has to be done for all code rates supported by the FEC block, defined as R1,…,Rm. Fig. 4 shows the scheme used for this purpose, where D corresponds to random binary data and ^ to its decoded version. Different values of I are generated in D using AWGN of different variance. To decode a codeword successfully, Iout must be equal to 1, which means that the output of the decoder matches with the original input to the turbo encoder. This is the condition to decide whether a code rate Ri is sufficient to decode a certain level of Iin. For a given Ri, we increase Iin until Iout=1, and then Iin corresponds to Ief, that is, the required mutual information to decode error-free. To find out when Iout is equal to 1, long simulations are required in SNR regions where the BER of the FEC block becomes low. This can be solved employing an FEC block with cliff behavior, for example, turbo codes plus outer codes with sufficient decoding capabilities. The 3GPP2 turbo code is used as an example in Fig. 5, where the horizontal axis represents the code rate of the turbo code and vertical axis Ief. The block size of the information word is 12282 bits, and code rates from 1/5 to 6/7 are analyzed. Max-log-algorithm with correction factor [12] and fix-point model with five bits quantization is used. Please note that if Ief is equal to the code rate (dashed line), the FEC block is ideal, achieving the channel capacity. The loss introduced by FEC blocks can be evaluated as the distance between an ideal FEC block (dashed line) and the obtained curve (solid line).

C. Designing the Levels A level i can be designed in two ways: A) Set SNRi Æ Find Ri. In this case, the analysis starts looking at the amount of mutual information Ide generated by the demapper for the specified SNRi. Then, Ide becomes Ief to force an error-free decoding in the FEC block. Lastly, the required code rate Ri for the specified Ief is calculated. This process is repeated for all levels. As an example, we use Fig. 3 and Fig. 5 defining an SNR1=0 dB. First, we find out that the demapper generates Ide=0.35 using Fig. 3. Then, we use Fig. 5 to calculate that a code rate R1=0.32 is required to decode the first level error-free. Notice that if Ri is not available by the

Fig. 5. MI required by the FEC module Ief to decode error-free.

FEC block, the next lower code rate must be taken. If Ide for a level i is so low that any available code rate cannot guarantee an error-free decoding, transmission is not possible for level i at the specified SNR. B) Set Ri Æ Find SNRi. In this case, the designer prefers to assure a certain capacity for a level i. The process is the same as for case A), just in reverse order. Notice that the design rule (1) must be satisfied in each case. As an example, we define a code rate of 0.5 in level i, Ri=0.5. The FEC block needs Ief=0.53 (Fig. 5), and this is achieved for an SNR greater than or equal to 3.4 dB (Fig. 3). The process is repeated for each level, obtaining a set of SNRs and code rates, defined as S= {SNR1, SNR2,…, SNRn} R= {R1,R2,…,Rn}.

(8) (9)

D. Decoder Chart Once that all levels are defined, the characteristic of the decoder can be summarized in a chart, called multi-stage decoder (MSD) chart, where SNR vs. capacity is plotted. A stair function is created using S and R, where the code rates represent the current capacity of a level (each level carries maximum 1 bit of information). This function is called current capacity available (cca), and can be defined as

x < SNR1 SNR1 ≤ x < SNR2

0, R1 , ... i

∑ R , SNR

cca(x)=

j

i

j =1

≤ x < SNRi +1 .

(10)

... n

∑ R , SNR j

n

≤x