In section 6.2, we mention that based on its own mutual information and that at other relays, each relay in the receive group should have the ability to estimate the joint entropy. In this system we use a lookup table to achieve this, and assume that this table is available to all the relays in the receive group. The lookup table contains the relationship between the mutual information on each relay and the joint entropy. Then once every relay in the receive group knows the others’ mutual information at all other relays it can estimate joint entropy using the table. The lookup table is generated using the information recorded in simulation, and assuming the simulation runs are reasonably long, the lookup table can be very accurate. A typical lookup table is in Figure 6.4.
For calculating the mutual information at the relay, we use the algorithm in [31]
I(x, y) =H(x) − H(x|y) =1 −
∑
x Z p(x, y) log2(1/p(x|y))dy =1 − Ex,y[log2(1/p(x|y))]where x, y represent the original codeword and the received codeword in the LLR form. I(x, y),
H(), E(), p(x, y) and p(x|y) indicate mutual information, entropy, expectation, joint probability
Figure 6.3: Relationship between information at relays and the source By using Bayes’law [14], the equation can be rewritten as
I(x, y) =1 − E x,y[log2( p(y) p(x)p(y|x))] =1 − Ex,y[log2( ∑ x p(x)p(y|x) p(x)p(y|x) )] =1 − Ex,y[log2(1 + p(y| − x) p(y|x) )] (6.3)
where p(y|−x) and p(y|x) can be obtained empirically from the detected codeword. In practice, because the original codeword x is not available at the relay, p(y| − x)
p(y|x) can be approximated as p(y| − 1)
p(y|1) p(x = 1) +
p(y|1)
p(y| − 1)p(x = −1), where p(x = 1) and p(x = −1) are the probabilities
of one particular bit in the codeword obtained from its LLR. The derivation from the second line to the third line in equation (6.3) is based on the assumption that for the original codeword
x, p(x = 1) = p(x = −1) = 1/2.
Assuming the codeword is long enough, the mutual information on each relay in the receive group is determined by the fading channel on the source relay link (red links in Figure 6.2). As
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6
Mutual Information of Relay 1
Mutual Information of Relay 2
Figure 6.4: Optimum rate lookup table, green dots mean compression rate R>= 1.7, blue means R>= 1.4 and R < 1.7, red means R < 1.4
a consequence, relays in the receive group only have to estimate and exchange their mutual information when the fading channel on the source relay link is changed (assume that the fading channel changes slowly at keeps stable at least for one frame length). And furthermore, we can use another lookup table to replace the calculation of the joint entropy at the relay. This lookup table contains the relationship between the fading channel and the mutual information at the relay. Assuming that the transmitter uses BPSK, then the received constellation on each relay in the receive group is a parallelogram which can be defined by three parameters, namely the lengths of the two neighbouring sides and the angle between them as shown in Figure 6.5. We assume that relays in the receive group have the channel state information (CSI) hence know these three parameters. So every time when the fading channel is changed, relays in the receive group will input the three new corresponding parameters to the table and obtain
EbN0 -5 -2.5 0 2.5 5 average joint entropy difference 0.0033 0.0039 0.0042 0.0038 0.0032
Table 6.1: Average joint entropy differences between random channel sets and their equivalent sets R2 R1 < T >= T < T R1= d,R2= d R1= nc,R2= d >= T R1= d,R2= nc R1= c,R2= c
Table 6.2: Frame dropping rule, where T , d, nc and c represent threshold, drop, no compression and compression according to the SW theorem respectively.
the estimated mutual information. This lookup table is also generated using the information recorded in simulation, however this table is not included in the simulation presented in this chapter, because the calculation load is beyond the processing limitations of our computer. We however conduct a simulation to compare the estimated mutual information to the mutual information calculated from equation (6.3), which shows that the difference is infinitesimal as shown in Table 6.1.
Assume channels from transmitter to one relay is a+ b j c + d j , distance between sig1 and sig2 is d1, distance between sig1 and sig3 is d2, distance between sig2 and sig3 is d3 as
shown in Figure 6.5. The relationship between channel parameters and the received signals is:
a2+ b2= d 2 1 4 c2+ d2= d 2 2 4 (a − c)2+ (b − d)2=d 2 3 4 (6.4)
There are not sufficient equations to solve the problem, so one additional equation a= b is added deliberately to help solve equation (6.4).
The simulation that prove the feasibility of the channel mutual information table is con- ducted as follow: first randomly generate a set of channels a+ b j c + d j , then using equation (6.4) to calculate its equivalent set of channels a′+ b′j c′+ d′j , using both sets
of channels to run simulation and compare the corresponding mutual information.
For further compression, as stated in section 6.2, the relay detects the unreliable codeword and does not transmit it at all. We use the mutual information of the codewords to identify which are unreliable one: a mutual information threshold is set and all relays in the receive group follow the rule in table 6.2. When the system is operating under the frame dropping scheme, the SW scheme is not activated. If codewords on all relays are below the threshold, nothing is transmitted.
The implementations for other parts of the system in Figure 6.2 are similar to those in our previous paper [90]. The outer code is a concatenated code with two convolutional codes as its component codes. The outer decoder uses the BCJR algorithm [57]. The detector uses a soft de-mapper [27] and the outer decoder recursively to estimate the LLRs for the received
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −1.5 −1 −0.5 0 0.5 sig2 sig4
Figure 6.5: Three parameters used to define a channel, distance between sig1 and sig3, distance between sig1 and sig2 and angleα
codeword. The quantizer uses the LBG algorithm [76] to quantize the LLRs as shown in Figure 6.6. For each codeword at the relay in the receive group, because parts of it go through different independent fading channels, the distribution of the amplitude of the LLRs in one codeword is not consistent, therefore every part of the codeword needs to be quantized separately. The combiner sums the corresponding LLRs from each codeword.
Optimization for the Slepian and Wolf code implementation
The compressor uses the Accumulate-Repeat-Accumulate (ARA) code [73] with a slight dif- ference from that in [90]. In the previous chapter, the compressor at each relay processes the codeword in the same manner, whereas in this chapter, the compressor on each relay first di-
−400 −30 −20 −10 0 10 20 30 40 2000 4000 6000 8000 10000 LLR value
Number of sample values
Figure 6.6: Vector quantization result for one dimension random variable. Blue bars are his- togram of LLR samples from the relays and red lines are quantization points.
vides the codeword into two equal parts, of which one compresses the first part while the other compresses the second part. These setting give us two advantages. When the de-compressor at the destination tries to recover the codeword for each relay it uses the information of one codeword as the extrinsic information to decode the other codeword, and since each relay com- presses a different part of the codeword, the extrinsic information from the other codeword is uncompressed which makes it more reliable for decoding, and hence the overall system perfor- mance is more reliable and better than that in [90]. And although the compressor on each relay treats the codeword differently, the frame lengths of the compressed codewords at all relays are still the same, which is preferable when we use the multiple access channel (MAC) on the relay destination link in the future.