- Research
- Open access
- Published:
Channel-optimized scalar quantizers with erasure correcting codes
EURASIP Journal on Wireless Communications and Networking volume 2014, Article number: 99 (2014)
Abstract
This paper investigates the design of channel-optimized scalar quantizers with erasure correcting codes over binary symmetric channels (BSC). A new scalar quantizer with uniform decoder and channel-optimized encoder aided by erasure correcting code is proposed. The lower bound for performance of the new quantizer with complemented natural code (CNC) index assignment is given. Then, in order to approach it, the single parity check code and corresponding decoding algorithm are added into the new quantizer encoder and decoder, respectively. Analytical results show that the performance of the new quantizers with CNC is better than that of the original quantizers with CNC and natural binary code (NBC) when crossover probability is at a certain range.
1 Introduction
For a uniform scalar source, it is well known from [1] that if over a noiseless channel, in terms of the mean squared distortion (MSD), the uniform scalar quantizer is optimal among all quantizers. But if across noisy channels, the uniform quantizer is no longer optimal. Therefore, joint source and channel coding has attracted much attention in [2, 3], which has been seen as a promising scheme for effective data transmission over wireless channels due to its ability to cope with varying channel conditions [4–6]. Generally, there are two approaches to improving the performance of a quantizer over a noisy channel.
One is that the encoding cells in quantizer’s encoders are designed to be affected by the transmission channel characteristics, for example [7], or the final positioning of the reconstruction in decoders depends on channel characteristics, for example [8], which is called as channel optimized quantizers. In [9–12], some necessary optimality conditions are given. Alternatively, an error detecting code can be cascaded with the quantizer at the expense of added transmission rate in [13].
The other one is index assignment, which is a mapping of source code symbols to channel code symbols and was studied in [14, 15]. The usual goal to design an index assignment for noisy channels is to minimize the end-to-end MSD over all possible index assignments. Some famous index assignments, such as natural binary code (NBC), Gray code and randomly chosen index assignments, are studied on a binary symmetric channel (BSC) in [16–21]. In [16], it is proved that NBC is optimal for uniform scalar quantizers and uniform source. In [17], McLaughlin et al. extended it to uniform vector quantizers. Farber and Zeger [8] also proved the optimality of NBC for uniform source and quantizers with uniform encoders and channel-optimized decoders. In [7], they not only studied on NBC code, but also proposed a new affine index assignment, named as complemented natural code (CNC).
Interestingly, it is known from [7] that for uniform decoder and channel-optimized encoder quantizer with CNC index assignment, as crossover probability increases to a certain value, some of the encoding cells appear to be empty, which is also discovered in [22, 23]. These empty cells can be looked upon as redundancy, just like a form of implicit channel coding. Besides, it can be discovered in [7] that there is an implicit assumption is that transmitters should know transition error probabilities. If this assumption comes true, then decoders would exactly know the encoding cells in encoders and can judge if the receiving index is one of the indices of empty cells, but [7] does not apply any methods to defeat the receiving index of empty cells.
In this paper, a genie-aided erasure code is applied into the ideal quantizer decoders, which can correct the receiving index of empty cells. The lower bound for performance of the uniform decoder and channel-optimized encoder quantizer with CNC index assignment is given. Then, the single parity check (SPC) block code is utilized to approach the lower bound. The main scheme is that, in transmitters, several indices are grouped into a block and parity check bits are appended in every block. Afterwards, if a receiving index is detected to be the index of empty cells in receivers, then it will be marked as an erasure. Then, the SPC code is used to correct erasures column by column for every block. In view of the structure, the SPC block code is a little similar to the SPC product code in [24], but their decoders are very different. The decoding scheme of the SPC block code is very simple; thus, only a little complexity will be added.
The rest of this paper is organized as follows. Section 2 gives definitions and notation. In Section 3, the lower bound for distortion of quantizers with uniform decoders and channel-optimized encoders is analyzed. Section 4 introduces the SPC block code and gives the distortion of the quantizer appending it. In Section 5, analytical results are shown. Finally, the conclusion is presented in Section 6.
2 Background
Throughout this paper, a continuous real-valued source random variable X uniformly distributed on [0,1] is considered. Some of the mathematical notations and definitions follow [7] in this section.Then, a rate n-bit quantizer is a mapping from the source to one of the real-valued codepoints (quantization level) y n (i),
A rate 2 quantizer is plotted in Figure 1 as an example. The quantizer includes a quantizer encoder that is a mapping from source X to a certain index i
and a quantizer decoder that is a mapping from the index i to codepoint y n (i),
In the encoder, the i th encoding cell can be denoted by the set
If R n (i)=ϕ, we say R n (i) is an empty cell. In general, for most quantizers, there are no empty cells in encoding cells. But a kind of quantizers in [7] is considered, in which the quantizer encoder may contain empty encoding cells. The centroid of the i th cell of the quantizer is presented by a conditional expectation
For a noisy channel, an index assignment π n is often used to debate noise, which is a permutation of the set {0,1,…,2n−1}. Then, if index J is received by a quantizer decoder with index assignment, a random variable X∈[0,1] will be quantized to the quantization level
Then, the end-to-end mean squared error (MSE) can be written as
In this paper, we focus on the quantizers with uniform decoders and channel-optimized encoders[7]. A quantizer decoder is said to be uniform if for each i, the i th codepoint satisfies
A quantizer encoder is said to be a channel-optimized encoder if it satisfies the weighted nearest neighbor condition, that is,
where
Here, denotes the closure of W i , and p n (j|i) denotes the probability that index j was received, given that index i was sent. If assuming a binary symmetric channel with crossover probability ε, p n (j|i) can be defined as
for 0≤ε≤1/2, where H n (i,j) is the Hamming distance between n-bit binary words i and j. Then, according to [7], a quantizer with a uniform decoder and a channel-optimized encoder satisfies, for all i,
where
Let an encoder-optimized uniform quantizer (EOUQ) denote a rate n quantizer with a uniform decoder and a channel-optimized encoder, along with a uniform source on [0,1], and a binary symmetric channel with crossover probability ε. For each n, the CNC index assignment [7] is defined by
Denote
The encoding cells of an EOUQ with the CNC index assignment are given in [7] as follows.
If n≥3 and ε∈[0,ε∗), then
where δ=1−2ε.
If n≥3 and ε∈[ ε∗,1/2), then
As above, when n≥3 and ε∈[ε∗,1/2), there exists an empty cell set E, which has 2n−1−2 elements and consists of all even numbers from 2 to 2n−1−2 and all odd numbers from 2n−1+1 to 2n−3, given by
Let denote the end-to-end MSD of EOUQ with index assignment π n . The MSE of an EOUQ with the CNC index assignment [7] is
where
3 Channel-optimized quantizers with erasure correcting codes
As to channel-optimized encoders, the implied key assumption in [7] is that channel state information (CSI) is known to transmitters. In a time division duplexing (TDD) mode system, it is easy to know CSI for transmitters, because uplink and downlink share the same channel. But in a frequency division duplexing (FDD) mode system, it is much harder to know CSI for transmitters than the TDD mode. Generally, after CSI is estimated in the receivers, it must be fed back to transmitters through an extra reliable channel. Here, in this paper, for a binary symmetric channel, CSI only includes crossover probability ε. In other words, if the above assumption comes true, for a given channel-optimized encoder in [7], receivers absolutely know temporal ε and can judge if there exist empty cells in encoding cells and whether the receiving index belongs to empty cells or not. This is because the encoding cells are determined by ε. Once the empty cell index appears, receivers should recognize that the received index is erroneously detected. However, in [7], the index that is known to be an error is still sent to quantizer decoders.
An assumption is made in this section that the decoders can correct all the receiving indices of empty cells, using a genie-aided erasure correcting code, which will be discussed in the subsequent section. In other words, all encoding cells belonging to the set E are fixed to empty in the encoder, and the receiving index of empty cells can be thought as an erasure to be marked and then recovered in the decoder. Because of this assumption, the probability that index j was received given that index i was sent will be changed as
Then, similarly, if the proposed quantizer encoder is said to satisfy the weighted nearest neighbor condition, then the encoding cells should satisfy
where
It is worthwhile to note that the second term in each side of the less-than operator in is different from W i in (3). This term means that if receiving an empty cell index, our proposed quantizer decoder is able to correct it. In order to be easier to solve (14), it is rewritten as follows.
Lemma 1
For all i, the encoding cells of our proposed EOUQ satisfy,
where
After substituting (8), and can be simplified as the following two corollaries.
Corollary 1
can be simplified as follows.
-
1.
i=0
-
a.
1≤k≤2n−1 − 1, k odd; 2n−1≤k≤2n − 2, k even
-
b.
k=2n − 1
-
2.
1≤i≤2n − 1, i odd; 2n−1≤i≤2n − 2, i even
-
a.
k=0
-
b.
1≤k≤2n − 1, k odd; 2n−1≤k≤2n − 2, k even; k≠i
-
c.
k=2n−1
-
3.
i=2n−1
-
a.
k=0
-
b.
1≤k≤2n − 1, k odd; 2n−1≤k≤2n − 2, k even
Corollary 2
can be simplified as seen in the Appendix (‘The simplification of
’).
It is known from the above two corollaries that for a given i and k, and have only one variable ε, so the symbolic toolbox in Matlab can be used to solve the inequality set. The encoding cells R n (i) are solved for the 3-bit and 4-bit quantizer, as shown in the following two theorem.
Theorem 1
For 0≤ε≤0.5, the encoding cells for the 3-bit quantizer are
Theorem 2
For 0≤ε≤0.5, the encoding cells for the 4-bit quantizer are
For i∈E, define the quantities
Let denote the end-to-end MSE of modified EOUQ with index assignment π n appending a genie-aided erasure correcting code, which is the lower bound for the MSE of modified EOUQ.
Theorem 3
The lower bound for MSE of a modified EOUQ with the CNC index assignment is
Proof
According to (1) and the assumption we make,
After re-expressing I l (i) the above formula with respect to I r (i), and merging like terms according to the definitions of and ,
After substituting (18) and (19), respectively, Theorem 3 gives the following results.
Theorem 4
The lower bound for MSE of a 3-bit modified EOUQ with the CNC index assignment is
Theorem 5
The lower bound for MSE of a 4-bit modified EOUQ with the CNC index assignment is
4 EOUQ with CNC aided by single parity check block code
A good erasure code for our proposed quantizers should have excellent ability to correct erasures but no ability to correct errors. This is because the codes that have error correcting ability can improve the performance of not only our proposed quantizers but also the quantizers in [7], and the benefits are equal. Thus, in this section, we focus on SPC code to correct the empty cell index that appears in receivers, in order to approach the lower bound for EOUQ with CNC index assignment.
4.1 SPC Code
The SPC code is one of the most popular error detection codes for it is easy to be implemented, which is also able to correct a single erasure. But, if there exist multiple erasures, the typical decoding method for the single-erasure case will fail to recover them. In this paper, we present a modified decoding method to deal with the multiple-erasure case for the SPC code. The main idea is that when one of the multiple erasures is being recovered, the other erasures are restored to the original value before being marked. Then, the multiple-erasure case can be transferred to several cases for a single erasure. Thus, the typical decoding method for the single-erasure case is still to be effective. Figure 2 gives an illustration of the modified decoding algorithm for the SPC code. According to Figure 2, as multiple erasures are recovered independently if multiple erasures exist, the erasure recovery probability with modified decoding method for the single- or multiple-erasure case is equal to the erasure recovery probability P c with typical decoding method for the single-erasure case, i.e.,
Then, the probability P c that a single erasure can be recovered by the SPC typical decoder is given in the following theorem.
Theorem 6
If a single erasure is detected, the probability that the erasure can be recovered by SPC code is
where denotes an n choose k function, , and ⌊x⌋ means to round x to the nearest integers less than or equal to x.
Proof.
If a single erasure appears in the receiving SPC code, all error events can be classified into the following several cases.
Case 1. No error: when there exist no errors in the column, the erasure can be definitely recovered. Then, in this case, the recovery probability is (1−ε)k.
Case 2. One error: when there exists one error in the column, only if the single error happens to be located at the erasure, the erasure can be recovered. Then, the recovery probability, in this case, is (1−ε)k−1ε.
Case 3. Two errors: when there exist two errors in the column, only if the two errors are both not located at the erasure, the erasure can be recovered. Then, the recovery probability, in this case, is .
Case 4. Odd number of errors: when there exist i (odd number) errors in the column, similar to ‘one error case’, only if one of the errors happens to be located at the erasure, the erasure can be recovered. Then, the recovery probability, in this case, is .
Case 5. Even number of errors: when there exist j (even number) errors in the column, similar to ‘two errors case’, only if all errors are all not located at the erasure, the erasure can be recovered. Then, the recovery probability, in this case, is .
In sum, according to all cases, the probability that the single erasure can be recovered by SPC code can be written as
where i is an odd number and j is an even number. Assuming k is odd, without of generalization, let i=j+1, so that
Supposing k is even, also let i=j+1, so that
Therefore, for any k≥2, the probability that the single erasure can be recovered by SPC code is
4.2 SPC block code
In this paper, k−1 transmitting indices with parity bits are grouped into a k×n SPC block code, as shown in Figure 3. In a SPC block code, every index is converted to a binary word and then placed row by row, and bits in every column are grouped to a SPC code, respectively. If an index in a row is detected to belong to the empty cell set, all entries in the row are marked as an erasure word. In this paper, erasure word denotes the whole erased bits in one row, and then, a bit in the erasure word is called as erasure bit. Then, the modified SPC decoding method shown in Figure 2 is used to recover every erasure bit column by column. Figure 4 gives an illustration of the decoding algorithm for a 3-bit quantizer aided by 5×3 SPC block code. As shown in Figure 4, if multiple rows are marked as erasure word, when the erasure words in one row are being recovered, the erasure words in other rows are restored to the original value before being marked.
In order to avoid confusion, we define that I denotes the transmitted index, K denotes the input of the SPC block decoder, and J denotes the output of the SPC block decoder. Then, the SPC block code-aided transition probability can be defined as follows.
Theorem 7
If aided by SPC block code, the transition probability that index j is output from the SPC block decoder given that index i is transmitted can be written as
Proof.
where p n (k|i) is defined in (4). Obviously, .
Case 1: k∉E (index input into decoders does not belong to empty cells)
This is because if the input index does not belong to the empty cell, it will not be marked as erasure and not be changed by the SPC block decoder.
Case 2: k∈E (index input into decoders belongs to empty cells)
In this case, denotes the probability that index j is output from the SPC block code, given that index i is sent and index k, which belongs to empty cells, is received and input into the SPC block decoder. The whole bits in the row where index k lies in will be marked as erasure word. According to the proposed SPC block decoding algorithm shown in Figure 4, every erasure bit will try to be recovered by the modified SPC decoder (mentioned in Figure 2) column by column, respectively. If multiple rows are marked as erasure word, when erasure words in one row are being recovered, the erasure words in other row are restored to original value before marked. Recalled from (23), the recovery probability for one erasure bit, , can be obtained from Theorem 6. Assuming N denotes the number of bits that fail to be recovered for an erasure word, then the number of bits that succeed to be recovered for an erasure word is equal to n−N. Then,
Obviously, N=H n (i,j), where H n (i,j) is the Hamming distance between n-bit binary words i and j.
Therefore,
After substituting (28) and (30), (27) can be rewritten as
Then, MSD can be written as
Now, is a function of ε and k. Thus, we can use the Symbolic toolbox in Matlab to obtain the exact expression for every special case as follows.
For 3-bit quantizer, K=3
For 3-bit quantizer, K=4
For 3-bit quantizer, K=5