# UEP Concepts in Modulation and Coding

Authors: Werner Henkel; Khaled Hassan; Neele von Deetzen; Sara Sandberg; Lucile Sassatelli; David Declercq
Journal: Advances in Multimedia
 (2010)

---

## Abstract

First unequal error protection (UEP) proposals date back to the 1960's (Masnick and Wolf; 1967), but now with the introduction of scalable video, UEP develops to a key concept for the transport of multimedia data. The paper presents an overview of some new approaches realizing UEP properties in physical transport, especially multicarrier modulation, or with LDPC and Turbo codes. For multicarrier modulation, UEP bit-loading together with hierarchical modulation is described allowing for an arbitrary number of classes, arbitrary SNR margins between the classes, and arbitrary number of bits per class. In Turbo coding, pruning, as a counterpart of puncturing is presented for flexible bit-rate adaptations, including tables with optimized pruning patterns. Bit- and/or check-irregular LDPC codes may be designed to provide UEP to its code bits. However, irregular degree distributions alone do not ensure UEP, and other necessary properties of the parity-check matrix for providing UEP are also pointed out. Pruning is also the means for constructing variable-rate LDPC codes for UEP, especially controlling the check-node profile.


---

## Body

## 1. Introduction

Source-coded data, especially from scalable video and audio codecs, come in different importance levels. Thus, data has to be protected differently. We discuss different means of achieving unequal error protection (UEP) properties on the physical level and by different coding schemes. In physical transport, we concentrate on multicarrier modulation (OFDM, DMT) presenting bit-allocation options realizing UEP properties, additionally using hierarchical modulation, as well.  Modulation-oriented UEP solutions prove to be a suitable and very flexible tool to define arbitrary protection levels, if access to the actual physical transport is possible. Other options are provided by channel coding and in here, we will especially discuss Turbo and LDPC codes providing UEP. The common approach for implementing UEP properties as in standard convolutional codes would certainly be puncturing [1]. Puncturing is simply omitting some of the output bits according to some pattern, thereby changing the denominator of the rate R=k/n, that is, reducing the n. Since puncturing is a well-known procedure, it will not be discussed in here too much. Pruning as an alternative has not been discussed as much except for [2, 3], but would allow for changing the code rate in the opposite direction, that is, modifying k in the rate. In its easiest form, pruning would just omit certain input bits to the encoder, thereby eliminating some transitions in the trellis. Some aspects of pruning as an additional tool for UEP Turbo-code construction will be studied.Pruning in an LDPC context would mean eliminating variable nodes in the bipartite Tanner graph setting these variables to known values, for example, zero. This will in turn modify the check degree of connected check nodes. It will serve as a tool for designing check-node degree distributions for a given UEP profile.After some more introductory remarks on UEP for video coding in Section2, this paper provides a tutorial over possible UEP realizations, starting from multicarrier modulation oriented ones in Section 3. We propose a very flexible UEP bit-loading scheme derived from a nonUEP standard method originally proposed by Chow at al. [4].A treatment of pruned Turbo codes will follow in Section4. Pruning and puncturing approaches are utilized to adapt the rate of a mother code in both directions.We also study LDPC codes with an irregular variable-node profile in Section5 and outline that the UEP properties depend on the construction algorithm delivering the final check matrix.Finally, we consider modifications of the check-node profile of LDPC codes by pruning in Section6. This keeps the graph of the mother code for decoding and adapts it just by known (predefined) information, which is pruning. This offers the same advantages that we know from pruning and puncturing in convolutional codes, namely, keeping the actual decoder unchanged. We conclude with Section 7.Note that whenever error-ratio performances are shown, they will be overEs/N0 to be able to really observe the UEP properties with varying channel signal-to-noise ratios. For LDPC codes, however, we may still use Eb/N0 scales, but since there is no notion of local rates, the overall rate is used, and thus these figures are actually just using renormalized Es/N0 scales preserving the SNR spacing of all performance curves.


## 2. UEP and Rate Distortion

Before we actually discuss different UEP solutions, we should deliberate shortly how we should relate source coding qualities given by spatial and temporal resolution and signal-to-noise ratio margin separations or error rates. We start referencing a work by Huang and Liang [5], who relate a distortion measure to error probabilities. However, in the end, we will conclude that for the codes that we will study in here, such a treatment is not suitable. The actual video quality steps (spatial and temporal) to be provided at what SNR steps will be at the discretion of a provider and essentially a free choice.Huang and Liang [5] simplify the treatment by relating MPEG I, P, and B frames to protection classes with different error probabilities. This is, of course, only addressing temporal resolution. As distortion measure, the mean squared error is used and is formulated as(1)Dtotal=∑i=0LSiS[Ei+AiPi],
where L is the number of protection classes (layers), S is the total number of bits in the source data, where Si correspond to the numbers in the different classes. Ei is the distortion introduced by the source-coding layer itself, without considering errors added by the channel whereas AiPi refers to the influence of channel errors. Pi is the channel bit-error rate and Ai describes the sensitivity of the ith source-coding layer to bit-errors.For a rate-distortion relation, Huang and Liang write the total rate as(2)Rtotal=∑i=0LSiS[Ri(S)+Ri(C)],
where Ri(S) and Ri(C) denote the source coding bit-rate and the added redundancy, respectively, for the ith layer.This is a treatment that is reasonable for rate-compatible punctured convolutional codes [1] that will result in finite error rates. Capacity-achieving codes, however, will lead to a strong on-off characteristic due to the water-fall region in their BER curves. For such coding schemes, the SNR thresholds will define certain quality steps that will be made available to an end device. Equation (1) would then only represent the quality steps provided by the source coding, since Pi could be assumed to almost only assume the extreme values of zero and 0.5. In the case of capacity-achieving codes, it appears to be more suitable to simply relate source coding quality steps to classes and these again to SNR steps of the UEP channel coding. The SNR steps will then be either realized by different code rates of a Turbo or LDPC coding scheme or, alternatively, by bit-allocation and/or hierarchical modulation together with channel-coding with identical code rates. Combinations of modulation-based realizations of different protection levels and those based on codes with different protection levels is, of course, also possible. The quality steps provided by source coding, as well as the SNR steps provided by channel coding are then a choice of service and network providers.In the following, we will describe options that we investigated to realize UEP in multicarrier hierarchical modulation, Turbo-, and LDPC-coding. These schemes will prove to be very flexible, allowing the realization of arbitrary SNR level increments between quality classes.


## 3. Achieving UEP with Multicarrier Bit Loading

We begin our treatment with modulation-based UEP realizations, starting from hierarchical modulation without bit-loading, followed by bit-loading, to finally combine both concepts in bit-loaded hierarchical multicarrier modulation. We use different bit-loading algorithms to give a flavor of options that are possible, although space limitations will not allow to study all UEP modifications of known bit-loading algorithms.


### 3.1. Hierarchical Modulation

In hierarchical modulation, also known as embedded modulation [6], different symbols with unequal priorities can be embedded in each other thereby creating different Euclidean distances dj between different priority classes j. The margin separations between these classes can easily be adjusted using the ratios of constellation distances dj/di, where i and j are two different classes. There are different hierarchical constellation constructions in literature, for example, [6, 7]. However, for implementation convenience, we have selected the construction in [8] as shown in Figure 1. In this figure, we assume 3 different classes Lj,j∈{0,1,2} and the performance priority ratios are assumed to be fixed to 3 dB, hence d0/d1=d1/d2=2.Hierarchical quadrature amplitude modulation (QAM): (a) 4/16/64-QAM and (b) 2/4/8-QAM.
(a)
A 4-QAM (L0) is embedded in a 16-QAM (L1) which is embedded in a 64-QAM (L2)(b)
A BPSK (L0) is embedded in a 4-QAM (L1) which is embedded in a nonsquare 8-QAM (L2)Figure2 depicts the bit-error ratios in case of AWGN using a fixed hierarchical modulation 2/4/8-QAM (as defined in Figure 1(b)). Figure 2 also shows the comparison between AWGN and a Rayleigh fading channel (The channel is modeled as independent time-invariant Rayleigh fading composed of Λ=9 different paths (echoes); each path has its own amplitude βl, delay τl, and random uniform phase shift θl∈[0,2π), i.e., h(τ)=∑l=0Λ-1βlplejθlδ(τ-τl); pl follows an exponentially decaying power profile [9]), where the 3-dB margin is strictly preserved in the AWGN case. However, in the case of a Rayleigh fading channel, this margin becomes wider, for example, almost 6 dB at a SER (symbol-error ratio) of 2·10-3. Nevertheless, the order of the classes and the relative margin separations are roughly preserved. The overall system performance deteriorates due to the fixed modulation size and the fixed power allocation. Hence, further adaptation to channel conditions, using adaptive modulation and power allocation is a very important measure to keep the margin separation and an acceptable performance, as will be discussed in detail in the next section.Figure 2
SER performance for 2/4/8 hierarchical QAM (defined in Figure1(b)) assuming 3 different classes with a margin separation of 3 dB. In total, 6144 bits were placed on 2048 subcarriers.


### 3.2. UEP Adaptive Modulation

Traditionally, bit-loading algorithms have been designed to assure the highest possible link quality achieving equal error probability. This results in performance degradations in case of variable channel conditions (no graceful degradation). In contrast, UEP adaptation schemes [10] allow for different parts of the same video stream/frame to acquire different link qualities. This can be done by allocating different parts of this stream to different subcarriers (with different bit-rate and error probabilities) according to the required QoS. Therefore, current research efforts [10–12] have been directed towards modifying the traditional bit-loading algorithms, for example, the ones by Hughes-Hartogs [13], Campello [14], Chow-Cioffi-Bingham [4], Fischer-Huber [15], in order to realize UEP. In [16], the algorithm by Fischer et al. has been modified in order to allow for different predefined error probabilities on different subcarriers. However, the allocation of subcarriers to the given classes is a computationally complex process. A more practical approach has been described in [11] using a modified rate-adaptive Chow et al. bit-loading. This one modifies the margin γ in Shannon's capacity formula for the Gaussian channel in [4] by dedicating a different γj for each protection level j. The advantage here is the flexibility to adapt the modulation in order to realize any arbitrary margin separations between the priority classes. The modified UEP capacity formula is given by [17](3)bk,j=log2(1+SNRk,jγj),
where k is the carrier index. Equation (3) is rounded to(4)b̂k,j=round(bk,j),
with quantization errors(5)Δbk,j=bk,j-b̂k,j.
The iterative modification of the overall γj (if the target bit-rate is not fulfilled) is performed in the same way as in the original Chow et al. algorithm, namely applying(6)γ0,new=γ0,old·2(B-BT)/Nused,
to one of the margins, for example, to γ0. Nused is the number of actually used carriers amongst the total of N carriers (We approximated Nused by N in our computations), B=∑k,jbk,j is the total actual number of bits, BT denotes the total target number. The margin spacing between the given L classes is selected as Δγ in dB, such that(7)γj=γj-1-Δγ[dB],
where j here can take on values in 1,…,L-1 and γ0 is computed in the iterative process [12].As in the original algorithm, the quantization errorΔbk,j is used in later fine-tuning steps to force the bit load to desired values if the iterations were not completely successful.How should now different protection classes be mapped onto the given subcarriers? An iterative sorting and partitioning approach has be proposed in [10, 11]. The core steps of the algorithm have been simplified more in [18] using a straight-forward linear algebra approach to initialize γ0 close to the final solution. The main steps in [11, 18] are given in the following.(1)
TheN subcarriers are sorted in a descending order according to the channel state information; the sorted indices are stored in a vector M of size 1×N.(2)
In [10, 11], γ0 is initially set to an arbitrary value (as in [4]). However, in [18], γm of the middle priority class is calculated initially using the average SNR (SNR¯) as γminit=SNR¯/2BT/N, and enhanced more using
(8)γm=2(∑k=1N-1log2(γminit+SNRk)-BT)/N.
Thereafter, the noise margins of the other classes are computed according to (7).(3)
b̂k,j is calculated as in (4); the number of subcarriers for each priority class are selected to fulfill the individual target bit-rate Tj, using a binary search, as in [11].(4)
If the target bit-rateBT is not fulfilled, all γj are adjusted using (6) together with (7), subsequently repeating from (3).(5)
Else, if the maximum number of iterations is achieved without fulfillingBT, further tuning based on the quantization error (5) is performed as in [4].The main drawback of the previous two methods [16, 18], is the inefficient energy utilization, where energy is wasted in allocating it to weak subcarriers. The algorithm by Hughes-Hartogs [13] is seen as the energy optimum bit-loading approach, however, it requires lengthy searching and sorting steps and nonlinear operations. Campello's bit-loading [14], which is a linear representation of the Levin bit-loading algorithm [19], is a simple alternative in between Hughes-Hartogs and Chow et al.. It achieves almost the same optimum power allocation requiring only a fraction of the complexity due to quantization of the channel-gain-to-noise ratio 𝒢k based, again, on Shannon's formula. However, carriers of similar levels of 𝒢k can be gathered into G smaller groups, where G≪N. Hence, all carriers in each of these groups can be adapted simultaneously. Therefore, the algorithm can easily allocate bits according to these quantized groups, later it tunes following the Hughes-Hartogs criterion of minimum power increment. In addition to the simplicity, Campello's bit-loading can be thought of as a practical solution for limited (quantized) channel feedback systems [12]. However, in this paper, we will discuss the UEP applications of the Hughes-Hartogs algorithm, only.Figure3 shows the performance of the modified Chow et al. algorithms assuming multicarrier modulation with 2048 subcarriers and Rayleigh fading. The performance deteriorated when adding more bits to the first class (see the scenario Tj=2048). The performance of the adaptive (nonhierarchical) Rayleigh fading case (in Figure 3) exceeds the hierarchical nonadaptive AWGN (in Figure 2). This shows the inefficiency of the hierarchical modulation.Figure 3
SER performance for the modified Chow algorithm assuming 3 different classes with margin separations of 3 dB, and 6144 bits on 2048 subcarriers with two scenarios:T0=1024, T1=2048, T2=3072, and Tj=2048, j=0.2.


### 3.3. UEP Adaptive Hierarchical Modulation

For the optimal power bit-loading algorithms (like Hughes-Hartogs), we opt for hierarchical modulation to realize UEP classes [12] together with bit-allocation instead of carrier grouping, since it realizes different classes more efficiently without tedious binary searches for the carrier groups separation. In this approach, the highest priority class first consumes the good-SNR subcarriers with the minimum incremental power (calculated based on the maximum allowed symbol-error rate Pe0 (SER) and the channel coefficients). Thereafter, the bits of the following classes are allowed to be allocated to either already used subcarriers in hierarchical fashion if their incremental powers are the minimum ones. However, if the incremental powers are not sufficient to allocate more bits in hierarchical fashion, free subcarriers can instead be used based on the same given margin separation Δγj, which is identical to the one given by the hierarchical modulation. Therefore, the only required information to establish our algorithm now is the SER Pe0 of the first class. The other SER, of the less important data, Pej, are calculated using the given margin γj and the given Pe0, as in [11, 12].In here, we are going to describe the complete power minimization hierarchical bit-loading algorithm. This algorithm can be considered as a margin-adaptive bit-loading defined as(9)minℰkℰσ=∑k=0N-1ℰk,subjecttoB=∑k=0N-1log2(1+ℰk𝒢kΓ),ℰσ≤ℰtot,
where ℰk is the power allocated to the kth subcarrier, ℰtot is the given target power, ℰσ is the accumulated power, 𝒢k is the channel gain (λk) to the noise (σn2) ratio, and the “gap” approximation is given by Γ=(2/3)[erfc-1(Pej/2)]2 [20]. If the total target rate is tight to a certain value BT and ℰtot is still greater than ℰσ, then the performance can be further enhanced by scaling up the effective power allocation ℰk by the ratio ℰtot/ℰσ. This is called “margin maximization” criterion, where the maximum system margin is defined as(10)γmax=ℰtotℰσ.
The complete algorithm is as follows.(1)
Initially, allocateL×N zeros to the bit-loading matrix B and N zeros to the power-loading vector ℰ and the incremental power vector Δℰ.(2)
Setj=0 and the maximum allowed number of bits on each class to bj,max, such that the summation over all j is less than the maximum number of bits per carrier bj,max.(3)
Compute the incremental power stepsΔℰk, for every subcarrier assuming a single bit addition, using the following approximate equation (as in [20]):
(11)Δℰk=(2/3)[erfc-1(Pej/2)]2𝒢k(2(∑j=0L-1Bj,k+1)-2(∑j=0L-1Bj,k)),
where Pej of the current class j is calculated using the previous class probability of error Pej-1 and Δγ as follows:
(12)Pej≃(1-2-(∑i=0j-1Bi,k+1)/2)×erfc(10-Δγ/10erfc-2(Pej-11-2-(∑i=0j-1Bi,k)/2)),
which is valid for high constellation order since Pej-1≃(1-2-(∑i=0j-1Bi,k)/2)erfc(3γj-1/2), as in [10], and γj-1=10-Δγ/10γj, that is, if Pe0 is given, the other classes Pej can be computed according to (12).(4)
Find the minimumΔℰk among all subcarriers, then increment Bj,k such that Bj,k≤bj,max allowed for each hierarchical level.(5)
Increment the power of this subcarrierk by the value Δℰi.(6)
If the target bit-rate of thejth class is not fulfilled and
(a)
the sum of the powers∑k=0N-1ℰk is less than the target energy ℰtot, go to (3),(b)
else, stop and go to (8) to finalize the margin maximization approach.(7)
If the target bit-rate of thejth class is fulfilled and j is less than the number of the given classes L,
(a)
if the sum of the energy is less than the target energyℰtot, increment j such that, j<L, then go to (3),(b)
else, stop the iterations for this class.(8)
Scale-up the allocated energyℰk using (10), then
(13)ℰk,new=ℰk,old·γmax.The matrixB has L hierarchy levels as its rows. Nonallocation of leading row(s) means that first protection level data have not been put on the corresponding carrier. Nevertheless, lower-priority data may follow and still use a smaller hierarchical signal set.Figure4 depicts the performance of the modified Hughes-Hartogs algorithm in the case of allocating 1024 bits for the first priority class, 2048 bits for the second priority class, and 3072 bits for the least priority one. The number of subcarriers are assumed to be 2048, the same as before, and bj,max of each modulation layer is 6 bits. It is clear from Figure 4 that the 3 dB spacing is better preserved in the case of the Rayleigh channel in Figure 1 (without bit and power-loading). We also observe the same performance degradation as in the modified Chow algorithm, when adding more bits to the first class. Finally, one can also see from Figure 4 that the performance of the nonhierarchical modified Chow algorithm outperforms the hierarchical Hughes-Hartogs UEP, which is due to the power-inefficiency of hierarchical constellations.Figure 4
SER performance in Rayleigh fading for the modified Hughes-Hartogs algorithm with adaptive hierarchical QAM assuming 3 different classes with a margin separation of 3 dB. In total, this figure has 6144 bits on 2048 subcarriers with two scenarios:T0=1024, T1=2048, T2=3072, and Tj=2048, j=0.2.An example of combining hierarchical modulation schemes with Turbo coding of different rates is given in [21]. How such different rates are obtained in a flexible way, is shown in the following section.In this paper, we only focus on (almost) capacity-achieving codes. Turbo codes are known for their error-floor behavior, nevertheless they are suited for smaller codeword lengths, that is, interleaver sizes. If the error floor is an issue, outer Reed-Solomon codes may be applied. There are, of course, manyfold options with smaller codeword lengths or delays, such as rate-compatible convolutional codes based on puncturing, which we are to some extent addressed inside the following Turbo-code section. Just to mention another example, one may also think of multilevel coded modulation with corresponding rate choices according to the desired SNR steps [22]. Actually, also there, Turbo- and LDPC codes can be chosen for the different layers.


## 3.1. Hierarchical Modulation

In hierarchical modulation, also known as embedded modulation [6], different symbols with unequal priorities can be embedded in each other thereby creating different Euclidean distances dj between different priority classes j. The margin separations between these classes can easily be adjusted using the ratios of constellation distances dj/di, where i and j are two different classes. There are different hierarchical constellation constructions in literature, for example, [6, 7]. However, for implementation convenience, we have selected the construction in [8] as shown in Figure 1. In this figure, we assume 3 different classes Lj,j∈{0,1,2} and the performance priority ratios are assumed to be fixed to 3 dB, hence d0/d1=d1/d2=2.Hierarchical quadrature amplitude modulation (QAM): (a) 4/16/64-QAM and (b) 2/4/8-QAM.
(a)
A 4-QAM (L0) is embedded in a 16-QAM (L1) which is embedded in a 64-QAM (L2)(b)
A BPSK (L0) is embedded in a 4-QAM (L1) which is embedded in a nonsquare 8-QAM (L2)Figure2 depicts the bit-error ratios in case of AWGN using a fixed hierarchical modulation 2/4/8-QAM (as defined in Figure 1(b)). Figure 2 also shows the comparison between AWGN and a Rayleigh fading channel (The channel is modeled as independent time-invariant Rayleigh fading composed of Λ=9 different paths (echoes); each path has its own amplitude βl, delay τl, and random uniform phase shift θl∈[0,2π), i.e., h(τ)=∑l=0Λ-1βlplejθlδ(τ-τl); pl follows an exponentially decaying power profile [9]), where the 3-dB margin is strictly preserved in the AWGN case. However, in the case of a Rayleigh fading channel, this margin becomes wider, for example, almost 6 dB at a SER (symbol-error ratio) of 2·10-3. Nevertheless, the order of the classes and the relative margin separations are roughly preserved. The overall system performance deteriorates due to the fixed modulation size and the fixed power allocation. Hence, further adaptation to channel conditions, using adaptive modulation and power allocation is a very important measure to keep the margin separation and an acceptable performance, as will be discussed in detail in the next section.Figure 2
SER performance for 2/4/8 hierarchical QAM (defined in Figure1(b)) assuming 3 different classes with a margin separation of 3 dB. In total, 6144 bits were placed on 2048 subcarriers.


## 3.2. UEP Adaptive Modulation

Traditionally, bit-loading algorithms have been designed to assure the highest possible link quality achieving equal error probability. This results in performance degradations in case of variable channel conditions (no graceful degradation). In contrast, UEP adaptation schemes [10] allow for different parts of the same video stream/frame to acquire different link qualities. This can be done by allocating different parts of this stream to different subcarriers (with different bit-rate and error probabilities) according to the required QoS. Therefore, current research efforts [10–12] have been directed towards modifying the traditional bit-loading algorithms, for example, the ones by Hughes-Hartogs [13], Campello [14], Chow-Cioffi-Bingham [4], Fischer-Huber [15], in order to realize UEP. In [16], the algorithm by Fischer et al. has been modified in order to allow for different predefined error probabilities on different subcarriers. However, the allocation of subcarriers to the given classes is a computationally complex process. A more practical approach has been described in [11] using a modified rate-adaptive Chow et al. bit-loading. This one modifies the margin γ in Shannon's capacity formula for the Gaussian channel in [4] by dedicating a different γj for each protection level j. The advantage here is the flexibility to adapt the modulation in order to realize any arbitrary margin separations between the priority classes. The modified UEP capacity formula is given by [17](3)bk,j=log2(1+SNRk,jγj),
where k is the carrier index. Equation (3) is rounded to(4)b̂k,j=round(bk,j),
with quantization errors(5)Δbk,j=bk,j-b̂k,j.
The iterative modification of the overall γj (if the target bit-rate is not fulfilled) is performed in the same way as in the original Chow et al. algorithm, namely applying(6)γ0,new=γ0,old·2(B-BT)/Nused,
to one of the margins, for example, to γ0. Nused is the number of actually used carriers amongst the total of N carriers (We approximated Nused by N in our computations), B=∑k,jbk,j is the total actual number of bits, BT denotes the total target number. The margin spacing between the given L classes is selected as Δγ in dB, such that(7)γj=γj-1-Δγ[dB],
where j here can take on values in 1,…,L-1 and γ0 is computed in the iterative process [12].As in the original algorithm, the quantization errorΔbk,j is used in later fine-tuning steps to force the bit load to desired values if the iterations were not completely successful.How should now different protection classes be mapped onto the given subcarriers? An iterative sorting and partitioning approach has be proposed in [10, 11]. The core steps of the algorithm have been simplified more in [18] using a straight-forward linear algebra approach to initialize γ0 close to the final solution. The main steps in [11, 18] are given in the following.(1)
TheN subcarriers are sorted in a descending order according to the channel state information; the sorted indices are stored in a vector M of size 1×N.(2)
In [10, 11], γ0 is initially set to an arbitrary value (as in [4]). However, in [18], γm of the middle priority class is calculated initially using the average SNR (SNR¯) as γminit=SNR¯/2BT/N, and enhanced more using
(8)γm=2(∑k=1N-1log2(γminit+SNRk)-BT)/N.
Thereafter, the noise margins of the other classes are computed according to (7).(3)
b̂k,j is calculated as in (4); the number of subcarriers for each priority class are selected to fulfill the individual target bit-rate Tj, using a binary search, as in [11].(4)
If the target bit-rateBT is not fulfilled, all γj are adjusted using (6) together with (7), subsequently repeating from (3).(5)
Else, if the maximum number of iterations is achieved without fulfillingBT, further tuning based on the quantization error (5) is performed as in [4].The main drawback of the previous two methods [16, 18], is the inefficient energy utilization, where energy is wasted in allocating it to weak subcarriers. The algorithm by Hughes-Hartogs [13] is seen as the energy optimum bit-loading approach, however, it requires lengthy searching and sorting steps and nonlinear operations. Campello's bit-loading [14], which is a linear representation of the Levin bit-loading algorithm [19], is a simple alternative in between Hughes-Hartogs and Chow et al.. It achieves almost the same optimum power allocation requiring only a fraction of the complexity due to quantization of the channel-gain-to-noise ratio 𝒢k based, again, on Shannon's formula. However, carriers of similar levels of 𝒢k can be gathered into G smaller groups, where G≪N. Hence, all carriers in each of these groups can be adapted simultaneously. Therefore, the algorithm can easily allocate bits according to these quantized groups, later it tunes following the Hughes-Hartogs criterion of minimum power increment. In addition to the simplicity, Campello's bit-loading can be thought of as a practical solution for limited (quantized) channel feedback systems [12]. However, in this paper, we will discuss the UEP applications of the Hughes-Hartogs algorithm, only.Figure3 shows the performance of the modified Chow et al. algorithms assuming multicarrier modulation with 2048 subcarriers and Rayleigh fading. The performance deteriorated when adding more bits to the first class (see the scenario Tj=2048). The performance of the adaptive (nonhierarchical) Rayleigh fading case (in Figure 3) exceeds the hierarchical nonadaptive AWGN (in Figure 2). This shows the inefficiency of the hierarchical modulation.Figure 3
SER performance for the modified Chow algorithm assuming 3 different classes with margin separations of 3 dB, and 6144 bits on 2048 subcarriers with two scenarios:T0=1024, T1=2048, T2=3072, and Tj=2048, j=0.2.


## 3.3. UEP Adaptive Hierarchical Modulation

For the optimal power bit-loading algorithms (like Hughes-Hartogs), we opt for hierarchical modulation to realize UEP classes [12] together with bit-allocation instead of carrier grouping, since it realizes different classes more efficiently without tedious binary searches for the carrier groups separation. In this approach, the highest priority class first consumes the good-SNR subcarriers with the minimum incremental power (calculated based on the maximum allowed symbol-error rate Pe0 (SER) and the channel coefficients). Thereafter, the bits of the following classes are allowed to be allocated to either already used subcarriers in hierarchical fashion if their incremental powers are the minimum ones. However, if the incremental powers are not sufficient to allocate more bits in hierarchical fashion, free subcarriers can instead be used based on the same given margin separation Δγj, which is identical to the one given by the hierarchical modulation. Therefore, the only required information to establish our algorithm now is the SER Pe0 of the first class. The other SER, of the less important data, Pej, are calculated using the given margin γj and the given Pe0, as in [11, 12].In here, we are going to describe the complete power minimization hierarchical bit-loading algorithm. This algorithm can be considered as a margin-adaptive bit-loading defined as(9)minℰkℰσ=∑k=0N-1ℰk,subjecttoB=∑k=0N-1log2(1+ℰk𝒢kΓ),ℰσ≤ℰtot,
where ℰk is the power allocated to the kth subcarrier, ℰtot is the given target power, ℰσ is the accumulated power, 𝒢k is the channel gain (λk) to the noise (σn2) ratio, and the “gap” approximation is given by Γ=(2/3)[erfc-1(Pej/2)]2 [20]. If the total target rate is tight to a certain value BT and ℰtot is still greater than ℰσ, then the performance can be further enhanced by scaling up the effective power allocation ℰk by the ratio ℰtot/ℰσ. This is called “margin maximization” criterion, where the maximum system margin is defined as(10)γmax=ℰtotℰσ.
The complete algorithm is as follows.(1)
Initially, allocateL×N zeros to the bit-loading matrix B and N zeros to the power-loading vector ℰ and the incremental power vector Δℰ.(2)
Setj=0 and the maximum allowed number of bits on each class to bj,max, such that the summation over all j is less than the maximum number of bits per carrier bj,max.(3)
Compute the incremental power stepsΔℰk, for every subcarrier assuming a single bit addition, using the following approximate equation (as in [20]):
(11)Δℰk=(2/3)[erfc-1(Pej/2)]2𝒢k(2(∑j=0L-1Bj,k+1)-2(∑j=0L-1Bj,k)),
where Pej of the current class j is calculated using the previous class probability of error Pej-1 and Δγ as follows:
(12)Pej≃(1-2-(∑i=0j-1Bi,k+1)/2)×erfc(10-Δγ/10erfc-2(Pej-11-2-(∑i=0j-1Bi,k)/2)),
which is valid for high constellation order since Pej-1≃(1-2-(∑i=0j-1Bi,k)/2)erfc(3γj-1/2), as in [10], and γj-1=10-Δγ/10γj, that is, if Pe0 is given, the other classes Pej can be computed according to (12).(4)
Find the minimumΔℰk among all subcarriers, then increment Bj,k such that Bj,k≤bj,max allowed for each hierarchical level.(5)
Increment the power of this subcarrierk by the value Δℰi.(6)
If the target bit-rate of thejth class is not fulfilled and
(a)
the sum of the powers∑k=0N-1ℰk is less than the target energy ℰtot, go to (3),(b)
else, stop and go to (8) to finalize the margin maximization approach.(7)
If the target bit-rate of thejth class is fulfilled and j is less than the number of the given classes L,
(a)
if the sum of the energy is less than the target energyℰtot, increment j such that, j<L, then go to (3),(b)
else, stop the iterations for this class.(8)
Scale-up the allocated energyℰk using (10), then
(13)ℰk,new=ℰk,old·γmax.The matrixB has L hierarchy levels as its rows. Nonallocation of leading row(s) means that first protection level data have not been put on the corresponding carrier. Nevertheless, lower-priority data may follow and still use a smaller hierarchical signal set.Figure4 depicts the performance of the modified Hughes-Hartogs algorithm in the case of allocating 1024 bits for the first priority class, 2048 bits for the second priority class, and 3072 bits for the least priority one. The number of subcarriers are assumed to be 2048, the same as before, and bj,max of each modulation layer is 6 bits. It is clear from Figure 4 that the 3 dB spacing is better preserved in the case of the Rayleigh channel in Figure 1 (without bit and power-loading). We also observe the same performance degradation as in the modified Chow algorithm, when adding more bits to the first class. Finally, one can also see from Figure 4 that the performance of the nonhierarchical modified Chow algorithm outperforms the hierarchical Hughes-Hartogs UEP, which is due to the power-inefficiency of hierarchical constellations.Figure 4
SER performance in Rayleigh fading for the modified Hughes-Hartogs algorithm with adaptive hierarchical QAM assuming 3 different classes with a margin separation of 3 dB. In total, this figure has 6144 bits on 2048 subcarriers with two scenarios:T0=1024, T1=2048, T2=3072, and Tj=2048, j=0.2.An example of combining hierarchical modulation schemes with Turbo coding of different rates is given in [21]. How such different rates are obtained in a flexible way, is shown in the following section.In this paper, we only focus on (almost) capacity-achieving codes. Turbo codes are known for their error-floor behavior, nevertheless they are suited for smaller codeword lengths, that is, interleaver sizes. If the error floor is an issue, outer Reed-Solomon codes may be applied. There are, of course, manyfold options with smaller codeword lengths or delays, such as rate-compatible convolutional codes based on puncturing, which we are to some extent addressed inside the following Turbo-code section. Just to mention another example, one may also think of multilevel coded modulation with corresponding rate choices according to the desired SNR steps [22]. Actually, also there, Turbo- and LDPC codes can be chosen for the different layers.


## 4. Achieving UEP with Convolutional Codes for Applications in Turbo Coding

In this section, we describe methods of achieving unequal error protection with convolutional codes which can later be applied in Turbo codes. A straightforward approach of varying the performance of a convolutional code is puncturing, that is, excluding a certain amount of code bits from transmission and, thus, increasing the code rateR=k/n, where k and n are the numbers of information bits and code bits. Another approach is called pruning, which modifies the number of input bits to the encoder k, that is, the numerator of the code rate instead of the denominator. In contrast to [2, 3], we present a more flexible way of pruning in the following. In order to modify the number of encoder input bits, certain positions in the input sequence could be reserved for fixed values, that is, 0 or 1 for binary codes. The code rate of a pruned convolutional code can be given as
(14)R=Lp·k-n0Lp·n,
where n0 denotes the number of digits fixed to a certain value and Lp is the pruning period. In (14), we assumed pruning of parities. Pruning in systematic information would also lead to subtracting n0 in the denominator. At the receiver, the pruning pattern is known such that the reliability of the fixed zeros can be set to infinity (or equivalently, the probability can be set to 1) and may help decoding the other bits reliably.A possible pruned input sequence to a 2-input encoder with certain positions fixed to 0 could be(15)u=(u10000u2u3u4u5u6),
where the pruning period is Lp=5. Thereby, code rates other than that of the mother code can easily be achieved. Using puncturing and pruning, a family of codes with different error correction capabilities may be constructed. Figure 5 shows a set of bit-error rate curves of Turbo codes using pruned and punctured recursive, systematic convolutional component codes.Figure 5
Set of bit-error rate curves of pruned and punctured Turbo codes built from RSC codes (for parameters, see the appendix).When performing a computer search for a suitable pruning scheme, it is usually not sufficient to study pruning patterns alone. Additionally, it has to be ensured that at interval boundaries between blocks of different protection levels, the states at joint trellis segments are the same as already required in rate-compatible punctured convolutional codes [1]. With the improved approach shown above, this problem does automatically not arise any more since the decoder is operating on one and the same trellis, namely the mother trellis, only varying certain a-priori probabilities. Thus, trellis structures do not change at transitions between different protection intervals at all.Concerning the minimum distance of the subcode, it is in either case greater than or equal to the minimum distance of the mother code since, as stated above, both codes can be illustrated by the same trellis. Fixing certain probabilities of a zero to be infinity means pruning those paths corresponding to a one. Either, if the minimum weight path is pruned, the minimum distance of the code is increased or if it is not pruned, the minimum distance stays the same.The proposed technique is in a way dual to puncturing with comparable complexity. Puncturing increases the rate by erasing output bits, whereas pruning reduces it by omitting input bits (fixing its value). With puncturing, there is no knowledge about the erased bits in the decoding. With pruning, we add perfect knowledge about certain bits and may enhance the decoding performance in iterative decoding through increased extrinsic information. Occasional pruning has also once been used to improve the NASA serial concatenation of convolutional and Reed-Solomon codes in [23].We ran an exhaustive computer search in order to find mother codes together with different pruning patterns which behave well in iterative decoding. We used EXIT charts [24] for the evaluation of the convergence behavior. One assessment criterion was amongst others the convergence threshold, which is the lowest SNR where error-free decoding is theoretically possible, that is, where the tunnel between the EXIT curves opens and the mutual information between the decoded and the transmitted sequence is one (or very near to one). Furthermore, we report the area between the EXIT curves, since it is a measure of how close the waterfall region is to the Shannon limit and how steep it is [25]. Although this has formally only been proved for the binary erasure channel, it has been observed for the additive white Gaussian noise (AWGN) channel, as well. We also give the approximate distance δ of the convergence point from the Shannon limit in dB. The minimum distance of the mother convolutional codes and their pruned subcodes was determined by evaluating low-weight input sequences. Table 2 shows three convolutional mother codes with constraint lengths Lc=3, Lc=4, and Lc=5 with reasonably fast convergence. The convolutional mother code rate is RCC=1/2 in all cases, such that the Turbo code rate is RTC=1/3. The pruning pattern search was performed for pruning periods up to Lp=6.The code table shows that the higher the degree of pruning (and the lower the code rate), the larger is the minimum distance. This is natural, since with a large number of constraints, it is more likely that the minimum distance path is erased.


## 5. Necessary Degree Distribution Properties of UEP-LDPC Codes

Irregular low-density parity-check (LDPC) codes are very suitable for UEP, as well, and can be designed appropriately according to the requirements. Irregular LDPC codes provide UEP simply by modification of the parity-check matrix and a single encoder and decoder may still be used for all bits in the codeword. The sparse parity-check matrixH of an LDPC code may be represented by a Tanner graph, introduced in [26], which facilitates the description of a decoding algorithm known as the message-passing algorithm [27]. Such a code may be described by variable node and check-node degree distributions defined by the polynomials [28] λ̃(x)=∑i=2dvmaxλ̃ixi-1 and ρ̃(x)=∑i=2dcmaxρ̃ixi-1, where dvmax and dcmax are the maximum variable and check-node degree of the code, respectively. The coefficients of the degree distributions describe the proportion of nodes with a certain degree. Within this section, we concentrate on irregular LDPC codes, where the UEP is due to the irregularity of the variable nodes, and the check-node degrees are mostly concentrated. UEP is usually obtained by assigning important bits to high-degree variable nodes and less important bits to the lower degrees, [29–31]. Information bits may be grouped into protection classes according to their error protection requirements or importance and the parity bits are grouped into a separate protection class with least protection. Generally, the average variable node degrees of the classes are decreasing with importance. Good degree distributions are commonly computed by means of density evolution using a Gaussian approximation [32].Based on an optimized degree distribution pair ofλ̃(x) and ρ̃(x), a corresponding parity-check matrix may be constructed. Several construction algorithms can be found in literature. The most important ones are the random construction (avoiding only length-4 cycles between degree-2 variable nodes), the ACE (approximate cycle extrinsic message degree) algorithm [33], the PEG (progressive edge-growth) algorithm [34], and the PEG-ACE algorithm [35]. It is widely believed that an irregular variable node degree distribution is the only requirement to provide UEP, see for example [29, 30]. Surprisingly, we found that constructing parity-check matrices using these different algorithms, based on the same degree distribution pair, results in codes with very different UEP capabilities: The random and the ACE algorithms result in codes which are UEP-capable, whereas the PEG and the PEG-ACE algorithms result in codes that do not provide any UEP [36].Since the degree distribution pairs are equal for all algorithms, a more detailed definition of the degree distribution is necessary. The multi-edge type generalization [37] may be used, but is unnecessarily detailed for our purpose. Instead, a subclass of the multi-edge type LDPC codes is considered. Let ρ̃(Li)(x) be the detailed check-node degree distribution, where the coefficients ρ̃j(Li) correspond to the fraction of check-nodes which have j edges to variable nodes in protection class Li, regardless of the other edges.Figure6 shows the coefficients of the detailed check-node degree distribution for codes constructed by the ACE and the PEG-ACE algorithm and for three protection classes. The results can also be seen as histograms of the number of edges from check-nodes to the protection classes. It can be seen that the histograms corresponding to the nonUEP algorithm (PEG-ACE) are much “peakier” than those corresponding to the UEP-capable algorithm (ACE). Knowing that the overall check-node degrees are concentrated around dc=9, this means that for the PEG-ACE code, a large fraction of check-nodes has the same number of edges to the different classes, that is, most check-nodes have 4 edges to L1, 3 edges to L2, and 2 edges to L3, reasoned by the different variable node degrees of the classes. In the case of the ACE code, the number of edges to different protection classes vary much more and there are many different types of check-nodes. Based on this detailed check-node degree distribution, one may perform a detailed mutual information evolution of the messages over the decoding iterations [36].Detailed check-node degree distribution coefficients for the codes constructed by the ACE and the PEG-ACE algorithms.
(a)(b)(c)(d)(e)(f)Figure7 shows the mutual information of messages going from check-nodes to variable nodes of different protection classes (denoted by Iappc) as a function of the number of iterations for an ACE code and a PEG-ACE code. It is obvious that the ACE code does provide different protection levels even after the check-node update operation, while the mutual information values of the PEG-ACE code are almost identical for all protection classes. The reason is that all PEG-ACE check-nodes obtain similar values for their updates and average the UEP coming from the variable nodes (due to their different degrees). In contrast, the check-nodes of the ACE code produce different updates for different protection classes, leading to UEP even after a high number of iterations. Based on this, the resulting a  posteriori mutual information values of the variable nodes from different protection classes (denoted by Iappv) are depicted in Figure 8. The figure shows the difference between the mutual information and its maximum value 1 on a logarithmic scale. For the UEP-capable ACE code, protection class L1 converges much faster than the other protection classes. On the other hand, the different classes of the nonUEP PEG-ACE code have more equal convergence rates.Figure 7
Check nodea posteriori MI as a function of the number of decoder iterations at Eb/N0=0.7 dB.Figure 8
Distance of variable nodea posteriori MI to the maximum MI as a function of the number of decoder iterations at Eb/N0=0.7 dB.To confirm that the detailed check-node degree distribution is the key to the UEP capability of a code, a modification of the nonUEP PEG-ACE algorithm, which makes it UEP-capable, is presented. By constraining the edge selection procedure to allow only certain check-nodes to be connected, the resulting detailed check-node degree distribution is made similar to that of the ACE code. The bit-error rates of the codes constructed by the modified PEG-ACE, the original PEG-ACE and the ACE algorithm are shown in Figure9. The figure shows that the original PEG-ACE code does not provide any UEP to its code bits, whereas the ACE code is UEP-capable. Surprisingly, the code constructed by the modified PEG-ACE algorithm offers even more UEP than the ACE code. The UEP capability provided by the modified PEG-ACE algorithm confirms that the detailed check-node degree distribution is crucial to the UEP capability of a code.Figure 9
BER of themodified PEG-ACE code in comparison to the original PEG-ACE code and the ACE code.Further work is currently done along protograph constructions and and multi-edge type LDPC codes [38, 39].


## 6. Achieving UEP with LDPC Codes with an Irregular Check-Node Profile

In Figure6, we observed that a noncompressed detailed check-node distribution was an essential ingredient to obtain UEP properties, which are even preserved after many iterations, even if an overall compressed distribution was chosen to optimize the overall average performance (according to results in [32]). In the following, we even refrain from the overall concentrated form and design UEP properties by controlling the check-node degree distribution, possibly keeping a regular variable-node degree distribution. It is well-known that the quality of a variable-node is increased with the number of edges connected to it. Regarding the check-node side, a connected variable node profits from a lower connection degree of that check-node. Thus, the quality of variable nodes is increased by lowering the (average) check-node degree of all check-nodes connected to it.We consider a check-node to belong to a certain bit-node (priority) classLk if there is at least one edge of the Tanner graph connecting the check-node with one bit node of that class. By studying the mutual information at the output of a check-node of a priority class compared to the average mutual information, we get a measure of unequal protection of the priority class: the higher the difference, the more the class is protected compared to other bits in the codeword. It is also possible to link this difference in mutual information to the average check connection degree of class Lk,
(16)d¯(Lk)=∑d=dmin(łk)dmax(Lk)d·ρ̃d(Lk),
where dmin(Lk) and dmax(Lk) are the minimum and maximum check connection degrees, respectively. ρ̃d(Lk) is the relative portion of check-nodes with connection degree d that belong to class Lk. To maximize the performance of class Lk, d¯(Lk) has to be minimized. In other words, the most protected classes have the lowest average check-node degrees.Using the detailed representation of the LDPC code [40], we optimized the irregular check-node profiles for each priority class with Density Evolution. Once the irregularity profile has been optimized, there are some specific parity check matrix constructions that allow to follow the fixed profile. We depict in the following a method based on pruning, which has the advantage of being efficient and flexible, just as in the case of UEP Turbo codes in Section 4. With a single fixed (mother) encoder and decoder, the protection properties for different priority classes can be modified by suitable pruning. With pruning, we control the check-node distribution of the classes. Let (N0,K0) be the length and the number of information bits, respectively, of the mother code. Pruning in Section 4 meant simply omitting information bits according to some pruning pattern, that is, fixing them to some known values. Although this can be further generalized by adding a precoder to a mother code, which also offers suitable LDPC UEP solutions, we will stick to this simple pruning concept also in here. Presetting certain information to zero, means the creation of a subcode of dimension K1 by eliminating K0-K1 columns from the parity-check matrix Hm. The subcode has length N1=N0-(K0-K1). This would be comparable to the length change in the case of pruning a systematic convolutional code. We use systematic LDPC codes, that is, LDPC codes for which the parity-check matrix has an upper triangular structure. The pruning is then performed by just omitting an information bit of the mother code, or equivalently, by removing the corresponding column in the information part of the parity check matrix (the part which is not upper triangular). By doing so, the dimensions of the subcode matrices HS and GS will be M0×N0-(K0-K1) and K1×N0-(K0-K1), respectively. The code rate is obtained as (17)R1=1-rank(HS)N0-(K0-K1)=K1N0-(K0-K1).
Only the indices of the pruned columns of the mother code need to be known at the transmitter and the receiver in order to be able to encode and decode the pruned code. Thus, there is almost no complexity increase for realizing different UEP configurations with the same mother LDPC code. This shows that the specific matrix construction that we advice, based on a mother code and pruning, is very flexible and can be implemented in practice with low complexity.Figure10 illustrates the pruning in the graph of a short code. Note that the protection level is determined by the average connection degree of the check-nodes connected to the variable nodes of a certain class.Figure 10
Pruning in the Tanner graph to exhibit UEP propertiesIn the following, we describe the iterative pruning procedure in some more detail.Let the relative portion of bits devoted to a classLk be denoted by α(k), with ∑k=1Lα(k)=1. An iterative pruning is performed. The procedure is controlled by the two key parameters of the kth class, d¯(Lk) and dmin(Lk). The first is the average check connection degree of the kth class defined in (16). The proportion relation (18)∑k=1NCαk∑j=2dcmaxρ̃j(Lk)=1,
is obtained where the second sum starts at a connection degree of 2 since a check-node should at least be connected to two variable nodes. The upper limit dcmax is the maximum possible check degree. The protection in class Lk can be improved by minimizing the average check connection degree d¯(Lk), which requires to minimize dmin(Lk), as well. For each considered class, d¯(Lk) is lowered as much as possible minimizing dmin(Lk) step by step, too. For a chosen dmin(Lk), one would try to put a maximum number of check-nodes with the minimum degree dmin(Lk) in order to decrease d¯(Lk). Although this may be interpreted to keep the degree distribution concentrated inside a certain class, this is not necessary (cf. the results in Section 5). The reduction of d¯(Lk) may be realized in different ways. However the steps and the succession in pruning are chosen, including possible reallocations of variable nodes to classes, the following constraints need to be fulfilled and checked every time.  (1)
Any pruned bit must not be linked with a check-node of degree already identical to the lower limit of a priori chosen degree distributions.(2)
Unvoluntary pruning shall be avoided, meaning that a column of the parity-check matrixH becomes independent from all the others and then it would not define a code any more.(3)
The chosen code rateK1/N1 must still be achieved given by the total number of checks NK and the number of bit nodes N.(4)
Convergence at a desired signal-to-noise ratio (near the Shannoncapacity limit) must be ensured, typically by investigating EXIT charts [24].(5)
A stability constraint [32] has to be ensured, which is formulated as a rule for λ2, which is the proportion of edges of the graph connected to bit nodes of degree 2
(19)λ2≤e1/2σ2∑j=2dcmaxρj(j-1),
where ρj denotes the proportion of edges of the graph connected to check-nodes of degree j.In an iterative procedure,dmin(Lk) may be further reduced after ensuring that the listed constraints are fulfilled (if the lower limit of allowed degrees is not yet reached). A further pruning process is used to reduce d¯(Lk).Figure11 shows an exemplary result obtained by iterative pruning. The curves are based on a regular LDPC mother code of length N0=2000 and a code rate of R0=1/2. The subcode has a length of N1=1000 and code rate R1=1/3. The L classes to be optimized are defined by the proportions α(k) for k≤L-1 (the number of info bits in the class Lk is α(k)·R1·N1 if k≤L-1, and ∑k=1Nc-1α(k)=1, and (1-R1)·N1=(1-R0)·N0 in the last one which then contains the whole redundancy). The optimization is done for L=3 classes with α(1)=0.1, α(2)=0.9. The mother code has parameters (2000,3,6).Figure 11
BERs of concentrated and nonconcentrated pruned check-irregular codes of rate 1/3 and length 1000 after 30 iterations forα(1)=0.1, α(2)=0.9.Optimizations to obtain unconcentrated (degrees for checks between 2 and 6) and almost concentrated (degrees for checks between 4 and 6) degrees codes were performed to compare the performances.The decoder is using the pruned parity-check matrix of the mother code. The check-node profiles are given in Table1. The variable-node degree was three.Table 1
Check-node profiles of concentrated and nonconcentrated codes used in Figure11.
(a)
Check profile of the almost concentrated code
j23456Class 1009.04E-019.62E-020Class 2006.67E-013.33E-010Class 3003.56E-014.86E-011.58E-01(b)
Check profile of the unconcentrated code
j23456Class 11.59E-011.97E-013.31E-012.70E-014.29E-02Class 21.11E-024.89E-024.07E-014.60E-017.33E-02Class 31.33E-038.67E-031.60E-014.82E-013.48E-01Table 2
List of good codes with constraint lengthLc={3,4,5} and rate-1/2 convolutional mother code. Given are the code rates RCC and RTC of the corresponding convolutional and Turbo code, the pruning pattern, the SNR (dB) where the Turbo code converges, the offset δ from the Shannon limit (dB), the area between the EXIT curves, and the minimum distance of the convolutional code dfree,CC.
conv. mother codeRCCRTCpruning patternEs/N0 [dB]δ [dB]areadfree,CC(1D21+D+D2)0.50.333-3.731.350.2540.4170.278(0·····)-4.241.840.25540.40.267(0····)-4.272.050.26340.3330.222(00····)-4.763.120.25840.20.133(000··)-8.531.470.25760.1670.111(000·0·)-8.782.140.2666(1D+D31+D+D2)0.50.333-4.730.350.07750.4170.278(0·····)-6.040.050.16850.40.267(0····)-5.870.460.12350.3330.222(00····)-7.160.7670.21950.30.2(00···)-70.920.19460.30.2(0·0··)-70.920.18360.20.133(000··)-9.130.870.22670.1670.111(0·000·)-9.371.5470.2368(11+D+D41+D2)0.50.333-4.730.350.08650.4170.278(0·····)-5.640.440.22850.40.267(0····)-5.071.260.250.3750.25(0···)-5.21.630.20150.3330.222(00····)-6.761.1670.26350.30.2(00···)-5.802.120.20250.250.167(00··)-6.272.40.24880.20.133(000··)-6.733.270.30680.1670.111(0000··)-7.183.740.35490.10.067(0000·)-8.475.360.41211


## 7. UEP in Physical Transport or in Coding?

This paper has pointed out manifold options for realizing unequal error protection, especially new concepts developed recently. UEP in multicarrier physical transport is very easy to realize and the design is very flexible allowing for arbitrary SNR margins. In UEP Turbo or LDPC coding, the coding scheme has to be optimized in advance, that is, a code search is necessary and the performances have to be investigated beforehand (EXIT charts, simulations). Pruning and puncturing also offer quite some flexibility in choosing the code rate, but the actual performances are only obtained after the code-design and evaluation steps. However, in digital transport without access to the physical channel, the only option is UEP coding.When the channel changes its frequency characteristic, the margins between the priority classes will be modified in UEP bit allocation, even if a more robust SNR sorting is used. In UEP Turbo or LDPC coding, the margins will more or less be preserved due to the large interleaver.



---

*Source: 416797-2010-08-10.xml*