1. Introduction
Polar codes [
1] are the first provably capacity-achieving codes for the class of binary-input symmetric discrete memoryless channels. Although the polarized bit-channels are completely noisy or noiseless when the code length approaches infinity, polar codes of short to moderate lengths usually have limited error-correction performance under successive cancellation (SC) decoding. However, for ultra reliable and low-latency communications (URLLC) using polar codes, the constraints on transmission reliability, fast decoding, and limited code lengths have to be satisfied simultaneously. Therefore, the performance of polar codes of limited lengths needs to be improved.
Compared with SC decoding, the successive cancellation list (SCL) decoding provides an improved performance at the cost of a higher decoding complexity and latency. Nevertheless, both SC and SCL algorithms run sequentially, i.e., the decoding of the current bit depends on the correct decoding of all previous bits. Consequently, this will cause severe error propagation and increase the decoding failure probability of those less reliable positions.
One promising solution is to concatenate short polar codes with other block codes [
2]; thus, more protection could be introduced to bit-channels of less reliability. For instance, serial coding structures concatenating low-density parity-check codes and simple parity-check codes are discussed in [
3,
4], respectively. Taking advantage of parallel decoding, parallel concatenation structures of polar codes have also been broadly investigated [
5,
6,
7,
8], among which the product coding schemes play major roles. Due to their low-complexity and high parallelism, product coding structures have been widely used for optical communications [
9,
10,
11,
12].
To further improve the performance of product codes over wireless channels, product coding systems utilizing unequal error protection (UEP) have been extensively investigated. One of the common approaches is to use Reed–Solomon (RS) codes of progressively weaker strengths. Taking the image transmission scenario as an example, a product code employing horizontal RS codes and vertical rate-compatible punctured convolutional codes (RCPC) is proposed in [
13]. In this setting, for those packets that are not correctly decoded by a vertical RCPC decoder, the horizontal RS decoding could still recover part of the information bits by viewing the erroneous packets as erasures. The RS decoding performs only once in the scheme of [
13], and the authors of [
14,
15,
16] find that more information bits could be recovered when an iterative decoding is exploited between the horizontal RS codes and vertical channel codes. This is based on the fact that the decoding performance of vertical channel codes could be improved, with some of the information bits already being known from the previous RS decoding. As a result, more corrupted packets could be decoded and, thus, more information could be recovered. This iterative decoding of product codes has been studied for various vertical channels, such as Turbo codes [
14], low-density parity-check (LDPC) codes [
15] and convolutional codes [
16]. Additionally, the product codes with UEP have also been combined with joint source-channel coding [
17] and multiple description coding [
18].
Following the success of UEP-based product codes, the concept of product coding has also been applied to boost the performance of polar codes. Work [
6] utilizes two non-systematic polar codes in both horizontal and vertical directions, and proposes a two-step decoding method to improve the throughput and error correction performance. However, locating errors using the two-step decoder is time-consuming and the resultant product code is still a polar code. Therefore, the problem of protecting less reliable bit-channels is not fully addressed. To solve this problem, the authors of [
7] employ interleaved RS codes along the horizontal direction, for the implementation of UEP, and the corresponding error decay rate of the RS-polar product code is analyzed. Nevertheless, the UEP scheme of [
7] needs to calculate the code rate of each RS codeword, which requires a high-complexity code rate allocation. Furthermore, the authors of [
8] allocate the rates of different RS codes in terms of the error patterns of an SCL decoder. In addition, both [
9,
10] involve the soft decoding of RS codes, which is too complicated for practical low-latency scenarios.
Despite the fact that the usefulness of UEP-RS-polar product codes has been validated in the aforementioned work, there is still no analytical formulation addressing the rate assignment of different RS codes. Therefore, it would be extremely difficult to find an optimal rate allocation via an exhaustive search. To address this difficulty, we formulate the rate allocation of RS codes as an integer optimization problem, aiming to maximize the amount of correctly decoded information in the RS-polar product codes. In addition, we show that the number of different RS code rates could be limited, considering the channel statistics. In this case, a solution to the proposed rate allocation problem is flexible even with an exhaustive search.
To summarize, the main contributions of this paper are listed as follows.
The optimal code rate allocation scheme of UEP-RS-polar code is proposed. The rate allocation of RS codes is analytically formulated and efficiently solved, as mentioned before, which could flexibly optimize the RS code rates given the number of desired UEP levels and the channel statistics. To reduce the overhead of extra RS parity symbols, the bit-channels of high reliability are not protected by RS codes. In addition, a judgment module is introduced into the UEP-RS-polar product code, counting the number of correctly decoded polar codewords. This could be achieved by adding 16 cyclic redundancy check (CRC) bits at the end of each polar code. If the number of erasures exceeds the correction ability of RS codes, then the corresponding incorrect polar codewords will be kept as final outputs to prevent more errors caused by RS decoding.
In order to reduce the decoding latency and iterative decoding complexity of the UEP-RS-polar codes, we propose using a hard decoding for RS codes and SC decoding for polar codes, and both RS decoding and polar decoding could run in parallel. Specifically, if a polar codeword is not correctly decoded, then the whole codeword will be viewed as erased and sent to the RS hard decoder for erasure recovery.
The proposed UEP-RS-polar scheme is evaluated over additive white Gaussian noise (AWGN) channels and Gilbert–Elliott (GE) channels. By examining different rates of inner polar codes, we find that the proposed “RS(32)-polar(256)” scheme with inner polar codes of rate
outperforms the SC decoding of long polar codes. Moreover, it achieves a performance gain of
dB compared with the counterpart of [
8] at frame error rate
(the corresponding bit error rate is as low as
) when the overall product code rate is around
and the inner polar code rate is
.
The remainder of this work is organized as follows.
Section 2 describes the background of polar codes and the proposed UEP-RS-polar product structure.
Section 3 explicitly presents the optimal rate allocation of RS codes. Simulation results and comparisons are reported in
Section 4 and finally
Section 5 concludes the paper.
3. Optimal Rate Allocation of RS Codes
Before proceeding to the formulation of optimal rate allocation, let us first discuss how to select the number of UEP levels
T, as shown in
Figure 1. The determination of
T is significant to the proposed UEP-RS-polar scheme. By taking a large value of
T, the error-correction performance would be improved, but at the cost of more product decoding iterations, so the decoding complexity should be comprehensively considered when choosing the value of
T. In addition, we note that if all RS codewords within the
t-th UEP level are correctly decoded, then the SC decoding performance in terms of frame error rate (FER) could be greatly improved. Inspired from this observation, FERs of SC decoding versus different number of known bits could be calculated, and then the UEP levels are partitioned so that an FER sees a significant decline. In this way, the number
of total UEP levels and the
T-tuple
could be flexibly determined, depending on the channel statistics and the affordable decoding complexity, etc.
As an example,
Figure 3 shows the FER performance over the Gilbert–Elliott (GE) channels versus the number of known symbols in a polar codeword, where we take the polar code information bits rate to be
, and
, and, thus,
. Each dashed line represents a bound of a UEP level, and the solid line marks the start of the last level with no extra RS protection. Using the notations in
Figure 1, we have
,
and the last UEP level starts from the 25-th RS codeword.
Given the partition of UEP levels, the optimal rate allocation of RS codes is formulated as follows. Let
denote the number of source symbols in the first
t UEP levels, i.e.,
where
by default, and the number of information symbols at the
t-th layer is
. Accordingly, the expected number of decoded source symbols of the UEP-RS-polar product scheme can be expressed by
where
is the probability of successfully decoding the
t-th UEP level.
Next, we define an event
, where a polar codeword can be successfully decoded when only the first
UEP levels are known, but cannot be correctly decoded when knowing only the first
levels. Additionally, let
, which denotes the probability of successfully decoding a polar codeword when only the first
j symbols (i.e., the first
j rows or RS codewords in
Figure 1) are already known. Then, we have
.
Therefore, the probability of decoding the
t-th UEP level, for
, can be given by
Based on the above expression, the problem of optimal rate allocation of RS codes is finding the
T-tuple
that maximizes the expected number of source symbols, i.e.,
Note that the value of T and the vector are predetermined in terms of the channel statistics and the iterative product decoding by simulations, as described at the beginning of this section. Finally, the desired rate allocation vector, , is optimized by exhaustive search.
4. Simulation Results and Discussion
This section examines the error-correction performance of the proposed UEP-RS-polar product scheme compared to AWGN and GE channels, utilizing the binary phase shift keying (BPSK) modulation. The RS codes used in this section are defined on
, i.e.,
, and we set the number of UEP levels as
. In addition, we took polar code rates of
and
, and the values of
M and
S were selected, such that the total codeword length of the proposed product code was 8192 bits. In this section, we utilized the overall code rate
and
for the UEP-RS-polar product code. Note that, given an inner polar code rate, both the number of RS codewords within each UEP level and the RS code rates need to be reallocated for a target overall rate
, as shown in Equation (
2). Further,
Table 1 lists more parameters, including the optimal rate allocation of RS codes, when
and
. Moreover, the corresponding overall code rate
is also given in
Table 1.
It is worth noting that the proposed RS rate allocation depends on the channel statistics of a given
, and we named this “design
” in this section.
Figure 4 plots the number of recoverable symbols versus different values of
, where the smallest value achieving the maximum number of recovered symbols is selected as the design
.
As shown in
Figure 4, the design
for rate around
and
, respectively, is 0.5 dB and 1.0 dB, when
and
. Note that the design
plays an important role in optimizing the rate allocation of RS codes. A high design
reduces the extra overhead of RS codes but leads to performance degradation in low-SNR regimes, while a low design
improves the error-correction performance at the cost of too many RS parity symbols. Consequently, the connection between a target FER and its design
needs to be established in a future work.
Next, let us discuss the rationality for choosing
in this section. Using
, we denote the maximum number of symbols that can be recovered by employing
UEP levels.
Figure 5 quantitatively compares the maximum number recoverable symbols with respect to
and 5, respectively. It can be seen that
and
in the case of design
dB, and when design
dB, we obtain
and
. Considering this empirical observation and the complexity of iterative product decoding, we used
in this paper. Note that the value of
T could be flexibly selected in terms of the channel statistics and the decoding complexity.
Table 1.
Parameters of the UEP-RS-polar Product Codes and the Corresponding Optimal Rate Allocation of RS Codes over AWGN Channels, for and 0.67.
Table 1.
Parameters of the UEP-RS-polar Product Codes and the Corresponding Optimal Rate Allocation of RS Codes over AWGN Channels, for and 0.67.
| | N (bits) | M (symbols) | S (symbols) | Design (dB) | | |
---|
0.5 | 0.270 | 256 | 16 | 32 | 0.5 | (2,8,12,18) | (3,5,10,14) |
0.255 | 512 | 32 | 16 | 0.5 | (1,3,7,12) | (5,15,20,28) |
0.267 | 1024 | 64 | 8 | 1 | (1,2,4,6) | (10,25,40,56) |
0.361 | 256 | 16 | 32 | 1 | (6,12,20,25) | (3,5,10,14) |
0.361 | 512 | 32 | 16 | 1.5 | (5,9,11,13) | (5,15,20,28) |
0.338 | 1024 | 64 | 8 | 1.5 | (2,3,6,7) | (10,25,40,56) |
0.67 | 0.263 | 256 | 21 | 32 | 0.5 | (1,2,5,21) | (3,7,13,16) |
0.262 | 512 | 42 | 16 | 0.5 | (1,3,4,8) | (4,15,27,34) |
0.280 | 1024 | 85 | 8 | 1 | (1,1,3,5) | (19,39,54,69) |
0.332 | 256 | 21 | 32 | 1 | (1,7,11,25) | (3,7,13,16) |
0.347 | 512 | 42 | 16 | 1.5 | (1,4,8,12) | (4,15,27,34) |
0.348 | 1024 | 85 | 8 | 1.5 | (1,3,4,6) | (19,39,54,69) |
Figure 4.
The impact of different SNRs on the number of symbols recovered, when .
Figure 4.
The impact of different SNRs on the number of symbols recovered, when .
Figure 5.
The maximum number of recoverable symbols over AWGN channels with different values of T, for and design and dB.
Figure 5.
The maximum number of recoverable symbols over AWGN channels with different values of T, for and design and dB.
4.1. Performance Evaluation over AWGN Channels
Figure 6 and
Figure 7 compares the proposed UEP-RS-polar product scheme against the SC decoding and SCL decoding of long polar codewords when the transmission code rate is around
and
, respectively. For a fair comparison, the rates of the long polar codewords are
and
, which are no larger than the corresponding transmission rates
. It can be seen from
Figure 6 that the “RS(32)-polar(256)” scheme significantly outperforms the SC decoding of a polar codeword of 8192 bits at FER =
, and an improvement of 0.75 dB is obtained when
. Moreover, a coding gain of 0.15 dB is achieved when compared with the SCL decoding with four survival paths (“SCL4” in
Figure 6) at FER =
. In the case of
, the “RS(32)-polar(256)” scheme performs close to the SC decoding at FER =
. In addition, when
and FER
, the “RS(32)-polar(256)” scheme is comparable to the “SCL4” decoding with
, and outperforms the SC decoding of long polar codes in the case of
. Notably, a peak coding gain of
dB and
dB is achieved for
at FER =
, and for
at FER =
, respectively, compared with the SC decoding. We note that the target FER =
already meets the requirements of practical wireless communications.
Figure 6 and
Figure 7 show that, for a fixed overall rate
, the FER performance of the UEP-RS-polar product code with
is significantly better than that with
. The reason for this is that the FER of component polar codes of rate
is larger than that of rate
, and then more polar packets would be viewed as erased, possibly leading to an early termination of the iterative product decoding. Additionally, for a fixed overall product code rate
, the optimized “RS(32)-polar(256)” scheme with
can outperform the SC decoding of a long polar code. However, practical techniques need to be developed to further improve the performance of the “RS(32)-polar(256)” scheme with
.
In addition,
Figure 8 compares the proposed UEP-RS-polar codes with the RS-polar product scheme of [
8] when the transmission rates are around
and
, for
. The RS rate allocation parameters of [
8] are specified by
rate 1/4, and
(this is taken from [
8]) for rate 1/3, and the same values of
, as in
Table 1. It can be observed that the proposed UEP-RS-polar scheme consistently outperforms the counterpart of [
8], by about 0.2 dB and 0.1dB, respectively, when
and
, at FER =
.
Furthermore, we evaluate the decoding complexity in terms of the single average decoding running time, i.e., the single runtime consumed when decoding a long polar code and the proposed product code, when the total code length is 8192 bits. Each value reported in
Figure 9 is averaged by performing
independent simulation trails. The source codes are executed by the MATLAB R2021a software running on a computer with Intel(R) Core(TM) i7-7700 CPU @ 3.60 GHz.
Figure 9 shows that the decoding time of UEP-RS-polar scheme decreases when
dB. The reason for this is that with the increasing channel reliability, more polar packets could be correctly decoded, thus triggering the early stopping of the iterative product decoding. On the other hand, the decoding time of a long polar code is always constant, and it is more time-consuming compared with the UEP-RS-polar scheme.
Figure 6.
Performance comparison of the UEP-RS-polar product codes, the SC decoding and SCL decoding of long polar codewords over AWGN channels when and .
Figure 6.
Performance comparison of the UEP-RS-polar product codes, the SC decoding and SCL decoding of long polar codewords over AWGN channels when and .
Figure 7.
Performance comparison of the UEP-RS-polar product codes, the SC decoding and SCL decoding of long polar codewords over AWGN channels when and .
Figure 7.
Performance comparison of the UEP-RS-polar product codes, the SC decoding and SCL decoding of long polar codewords over AWGN channels when and .
Figure 8.
Performance comparison between the proposed UEP-RS-polar product scheme and the UEP-RS-polar product scheme of [
8], (referred to as “mRS-polar” in the figure), for
and
over AWGN channels.
Figure 8.
Performance comparison between the proposed UEP-RS-polar product scheme and the UEP-RS-polar product scheme of [
8], (referred to as “mRS-polar” in the figure), for
and
over AWGN channels.
Figure 9.
Single average running time when decoding the UEP-RS-polar scheme and long polar codes over AWGN channels with a code length og 8192 bits. Each runtime is averaged by trails, executed on the MATLAB R2021a software with an Intel(R) Core(TM) i7-7700 CPU @ 3.60 GHz.
Figure 9.
Single average running time when decoding the UEP-RS-polar scheme and long polar codes over AWGN channels with a code length og 8192 bits. Each runtime is averaged by trails, executed on the MATLAB R2021a software with an Intel(R) Core(TM) i7-7700 CPU @ 3.60 GHz.
4.2. Performance Evaluation over Gilbert–Elliott Channels
Since RS codes could correct burst errors or erasures, this section examines the proposed UEP-RS-polar codes over a two-state Gilbert–Elliott (GE) channel. The corresponding channel model is depicted in
Figure 10, where
G and
B denote the good and bad states, respectively. Moreover,
represents the transition probability from state
V to state
W. Specifically, the GE channel used in this section is expressed by
where
n is the AWGN, and
and 0 for good and bad state, respectively. In other words, the GE channel becomes a deletion channel of deletion probability 1 when it falls into the bad state.
This section fixes
and considers the cases of
and
, and the corresponding FER versus SNR curves are plotted in
Figure 11 and
Figure 12 for
, and
Figure 13 and
Figure 14 for
, respectively. In the case of
, i.e., the channel would be in good state with high probability; it can be seen from
Figure 12 and
Figure 14 that the proposed “RS(32)-polar(256)” scheme consistently outperforms the SC decoding of length-8192 polar codes when
dB, for both
and
. Particularly, the “RS(32)-polar(256)” scheme with
and
achieves an improvement of around 0.8 dB at FER
, as shown in
Figure 12. When the component polar code rate increases to
, the performance of “RS(32)-polar(256)” scheme is expected to become worse, but almost the same performance as the SC decoding still could be obtained at FER
.
When
decreases to 0.9, the probability of the channel being in a bad state becomes larger, and no information bits would be transmitted in this scenario. As a result, it is more likely that the number of unsuccessfully decoded polar packets will exceed the erasure correction ability of RS codes within the first UEP level, meaning that iterative product decoding could not be conducted (see
Figure 1 and
Figure 2). This explains the deteriorate performance, as shown in
Figure 11 and
Figure 13 for
. Although the channel condition becomes more severe, the “RS(32)-polar(256)” scheme with
still achieves an improvement of
dB and
dB at FER
, for
and
, respectively. Finally, these observations demonstrate the superior performance of the UEP-RS-polar product codes in the low-to-medium regime of
.
In sum, when the overall product code rate is fixed, the performance of “RS(32)-polar(256)” scheme with is better than the SC decoding of long polar codes of the same rate. When we use the inner polar code rate , the “RS(32)-polar(256)” scheme outperforms the SC decoding in the low-to-medium regime. Moreover, the UEP-RS-polar product codes have a lower decoding latency than the SC decoding of long polar codes. However, further performance improvements are still required when inner polar codes of higher rates are involved.