Introduction DSC using Convolutional Codes DSC Using Turbo Codes Other DSC Work
(Last modified November 2001. For more recent work, refer to the WynerZiv
Coding of Video webpage)
DSC Using Convolutional Codes
The following asymmetric scenario was used to investigate convolutional codes for distributed source coding: Let X and Y be statistically dependent binary sequences with crossover probability p (Fig. 2). Assume that Y is sent at a rate of H(Y) and is recovered perfectly at the decoder. X is encoded with no knowledge of Y and is sent to the decoder which knows the side information Y (Fig. 3). This study seeks to find techniques that will allow X to be sent at a rate close to the SlepianWolf bound of H(XY) to achieve an overall rate close to H(X,Y).
Maximum free distance rate 2/3 systematic convolutional codes, of varying number of states, were used in the experiments. More states in the code entail more complex decoding but give better coding performance. Table 1 lists the convolutional code generators (in octal form) used [12].





17

15

13


121

113

137


563

601

475


5575

7377

4033

Table 1 – Rate 2/3 maximum free distance convolutional code generators
Simulation Results
The Viterbi decoding algorithm was used with the 8, 32, 256 and 2048state convolutional encoders applied on bit sequences of length L = 10^{3}. The results, derived from a total of 10^{6} sample bits, (Fig. 5) show that in spite of the probability of error improvement caused by more coding states, the system performance is still very far from the ideal SlepianWolf bound. The APP decoding algorithm improves the performance only by a slight amount compared to the Viterbi system, as can be seen in Fig. 6.
Comparison with Theoretical Performance of Convolutional Codes
As discussed above, the distributed source coding of X with side information Y can be viewed as a channel coding problem. The specific scenario used, with X and Y having a BSC relationship with crossover probability p, can be interpreted as a simple channel coded system composed of a rate 2/3 systematic convolutional code. Since the L/3 parity bits are sent without error, the “channel” would be a BSC having crossover probability p’ = (2/3)p (Fig. 7).A theoretical probability of error value can be calculated using the traditional performance analysis often applied to convolutional codes, that is, , where N_{e} and d_{min} are specific to the code used. (This analysis is an estimate since there is added information in knowing that the parity bits arrive at the decoder with no crossovers.)
Figure 7 – The convolutional coded system viewed as a BSC with p’=(2/3)p.
Fig. 8 compares the simulation results with the performance analysis estimates. Like the simulation results, the theoretical calculations show that acceptable probability of errors occur at H(XY) values far below the SlepianWolf bound, even if a large number of coding states is used.