Channel-optimized scalar quantizers with erasure correcting codes
© Qiao and Li; licensee Springer. 2014
Received: 20 May 2013
Accepted: 26 May 2014
Published: 18 June 2014
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.
For a uniform scalar source, it is well known from  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 , or the final positioning of the reconstruction in decoders depends on channel characteristics, for example , 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 .
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 , it is proved that NBC is optimal for uniform scalar quantizers and uniform source. In , McLaughlin et al. extended it to uniform vector quantizers. Farber and Zeger  also proved the optimality of NBC for uniform source and quantizers with uniform encoders and channel-optimized decoders. In , 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  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  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  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 , 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.
The encoding cells of an EOUQ with the CNC index assignment are given in  as follows.
3 Channel-optimized quantizers with erasure correcting codes
As to channel-optimized encoders, the implied key assumption in  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 , 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 , the index that is known to be an error is still sent to quantizer decoders.
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.
After substituting (8), and can be simplified as the following two corollaries.
- a.1≤k≤2n−1 − 1, k odd; 2n−1≤k≤2 n − 2, k even
- b.k=2 n − 1
1≤i≤2 n − 1, i odd; 2 n −1≤i≤2 n − 2, i even
- b.1≤k≤2 n − 1, k odd; 2 n −1≤k≤2 n − 2, k even; k≠i
- c.k=2 n −1
i=2 n −1
- b.1≤k≤2 n − 1, k odd; 2 n −1≤k≤2 n − 2, k even
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.
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.
After substituting (18) and (19), respectively, Theorem 3 gives the following results.
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 , 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
Then, the probability P c that a single erasure can be recovered by the SPC typical decoder is given in the following theorem.
where denotes an n choose k function, , and ⌊x⌋ means to round x to the nearest integers less than or equal to x.
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 .
4.2 SPC block code
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.
where p n (k|i) is defined in (4). Obviously, .
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)
Obviously, N=H n (i,j), where H n (i,j) is the Hamming distance between n-bit binary words i and j.
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.