• 沒有找到結果。

Best Codes for a Fixed Decision Rule

Our original goal was to find the optimal code for a given channel (%0, %1). We have shown that this is equivalent in finding an optimal t. Unfortunately, this search is difficult because the borders between the regions of different optimal t (see, e.g., Fig. 8.6) are defined by the combined influences of two different forces: when varying (%0, %1), either the optimal code Ct(2,n) changes, but the optimal threshold ' remains the same, or the optimal choice of ' changes, too. Hence, a joint optimization of t and ' is necessary.

We now simplify the problem by fixing the decision rule (i.e., the threshold ') and then search for the best code Ct(2,n) for the given threshold ' and the given channel (%0, %1). This turns out to be easier, but unless we happen to have chosen the optimal ' for the given BAC (%0, %1), this will result in a suboptimal solution.

We start with the following interesting result that has some important consequences.

Theorem 8.3 Fix a blocklength n, a code parameter 0 ≤ t ≤ 2n

2

3, and a decision rule threshold '. Then the roots (%0, %1) of

2Pe(#)"

C(2,n)

t

#− 2Pe(#)"

C(2,n)

t+1

#= 0 (8.11)

are identical to the roots of

LLR(n−1)t (%0, %1, ') = 0 (8.12)

where Pe(#)"

Ct(2,n)#

denotes the error probability of code Ct(2,n) decoded under the decision threshold '. Moreover, for a fixed %0 ∈ Ω, there exists at most one %1∈ Ω such that (8.11) holds; and for a fixed %1 ∈ Ω, there exists at most one %0∈ Ω such that (8.11) holds. This means that if (8.11) has a solution, then this solution is unique for a fixed %0 or %1.

Proof: See Appendix A.4.

Using Theorem 8.3 and Prop. A.1, we can now state conditions on t such that Ct(2,n) is best under a fixed decision rule '.

Corollary 8.4 Fix a blocklength n and a decision rule '. Then the flip code of type t, C(2,n)

t , is best for a fixed decision rule ' if, and only if, (%0, %1) belongs to 0(%0, %1) : LLR(n−1)t (%0, %1, ') > 0 and

LLR(n−1)t−1 (%0, %1, ') < 01

. (8.13)

If the region is empty, then t is not best for any channel.

Proof: From (A.47) in the proof of Theorem 8.3 in Appendix A.4 and from as-sumption (3.1) it follows that

LLR(n−1)t (%0, %1, ') > 0 ⇐⇒ Pe(#)"

Ct(2,n)#

< Pe(#)"

C(2,n)

t+1

#.

(8.14) As we know from Prop. A.1 that LLR(n−1)t (%0, %1, ') is increasing in t, this means that if both (8.14) and

LLR(n−1)t−1 (%0, %1, ') < 0 (8.15) are satisfied, the code Ct(2,n) is best for the given channel (%0, %1), for the given blocklength n, and for the fixed decision rule '.

We illustrate Cor.8.4by an example. We fix n = 7, ' = 2, %1 = 0.5, and let %0 increase from 0 to min{%1, 1 − %1} = 0.5, see Fig.8.8. Starting with t = 3, we check that

LLR(6)2 (%0, 0.5, 2) > 0 (8.16) for all %0, i.e., Pe(#)"

C(2,7)

2

#< Pe(#)"

C(2,7)

3

#. Next, we check t = 2:

LLR(6)1 (%0, 0.5, 2) < 0 (8.17)

for small %0, i.e., the code C2(2,7) is best for those %0. When increasing %0, as soon as LLR(6)1 (%0, 0.5, 2) = 0, there is a change and C1(2,7) becomes best. Further increasing

%0 while keeping t = 1 then finally reveals the last change that happens at the root of LLR(6)0 (%0, 0.5, 2). So there are three best codes for (%0, 0.5) ∈ Ω:

• C2(2,7) is best in 0

%0: LLR(6)2 (%0, 0.5, 2) > 0 and LLR(6)1 (%0, 0.5, 2) < 01

;

• C1(2,7) is best in 0

%0: LLR(6)1 (%0, 0.5, 2) > 0 and LLR(6)0 (%0, 0.5, 2) < 01

;

• C0(2,7) is best in 0

%0: LLR(6)0 (%0, 0.5, 2) > 01 .

In Fig. 8.8 the error probabilities of the various flip codes are shown as a function of %0. The best choices of t for all values of (%0, %1) ∈ Ω for n = 7 and ' = 2 are shown in Fig.8.9.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

%0

P(2) e

" C(2,n) t#

M= 2, n = 7, ' = 2, %1= 0.5

t = 0 t = 1 t = 2 t = 3

Figure 8.8: The error probabilities of all possible flip codes Ct(2,n) as a function of the channel parameter %0, for a fixed blocklength n = 7, %1 = 0.5, and a fixed decision rule ' = 2. For any %0, the best code is the one with the smallest error probability value.

Cor. 8.4 shows that for a fixed decision rule ', the choice of the best code parameter t depending on the given parameters n, %0, and %1 is much easier than the choice of the jointly optimal t and ' for a globally optimal code. In particular, we have the following regular structure.

Corollary 8.5 Fix a blocklength n and a decision rule ', and consider a BAC. If we increase %0 or decrease %1, then the best value of t is nonincreasing.

More sloppily we can say that when we are moving inside of Ω (see Fig.3.2) to the right or downwards, the best t will either remain the same or be reduced by 1. This means that the picture of the regions of best codes is much more regular without seemingly random jumps between different t. For an illustration compare the best codes for a fixed decision rule ' = 2 in Fig. 8.9with the corresponding globally optimal regions of Fig. 8.6.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

M= 2, n = 7, ' = 2

t = 0 t = 1 t = 2

%0

%1

LLR(6)0 (!0, !1,2) = 0 LLR(6)1 (!0, !1,2) = 0

Figure 8.9: Best codebooks on a BAC for a fixed decision rule: for all possible (%0, %1) this plot shows the best choice of the code parameter t. The blocklength is n = 7 and the decision rule is ' = 2.

Even more importantly, Theorem 8.3 also allows us to locate the exact location of some of the boundaries between the different areas of globally optimal codes (Fig.8.6).

Corollary 8.6 Consider the boundary between two areas of globally optimal codes (as, e.g., shown in Fig. 8.6). If the optimal decision rule on both sides of the boundary takes the same value ' and if the optimal code on the left is t + 1, while the optimal code on the right is t, then this boundary is identical to a corresponding boundary in the situation with a fixed decision rule '. In particular, this boundary is given by the roots of LLR(n−1)t (%0, %1, ').

We again show the example of n = 7 from Fig.8.6: in Fig.8.10the same plot is shown including a boundary that is identical to a boundary given in Fig. 8.9.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

M= 2, n = 7

t = 0 t = 1 t = 2 t = 3

%0

%1

LLR(6)0 (!0, !1,2) = 0

Figure 8.10: Globally optimal codebooks on a BAC for a blocklength n = 7 (identical to Fig.8.6). The shown boundary between t = 1 and t = 0 is identical to the corresponding boundary given in Fig. 8.9, where a fixed decision rule ' = 2 has been assumed.

We also would like to point out that the results for a given fixed decision rule simplify the search for a globally optimal code considerably. It can be summarized by the following algorithm.

Step 0: Fix a channel (%0, %1) and find the best t under the fixed decision rule ' = 0 and its corresponding error probability p ! Pe(0)"

C(2,n)

t

#. Then set ' ! 1.

Step 1: Find the best ttemp under a fixed decision rule ' and the corresponding error probability Pe(#)"

C(2,n)

ttemp

#. Step 2: Check whether Pe(#)"

C(2,n)

ttemp

#< p. If yes, set t ! ttemp and p ! Pe(#)"

C(2,n)

ttemp

#. Step 3: If ' < 2n−1

2

3, ' → ' + 1 and return to Step 1. Otherwise put out t (describing the optimal code) and p (giving the minimum error probability).

Analysis of the ZC

9.1 Optimal Codes with Two Codewords (M = 2)

Theorem 9.1 For a ZC and for any n ≥ 1, an optimal codebook with two codewords M= 2 is the flip code of type 0, C0(2,n). It has an error probability

Pe"

C(2,n)

0

#= 1

2%n1. (9.1)

Proof: Due to Theorem8.1, we can restrict our search to flip codes of some type t, C(2,n)

t , i.e., x2= ¯x is the flipped version of x1 = x.

For such a flip code, we observe that due to the peculiarity of the ZC that will never flip a zero to a one, an error can only occur when the received vector is the all-zero vector y = 0:

min0

PYn|X(y|x1), PYn|X(y|x2)1

=

%0 if y &= 0

%max{w1 H(x1)wH(x2)} if y = 0. (9.2) This error probability is minimized if one of the codewords is the all-one codeword; hence, C(2,n)

0 is optimal.

Note the optimal code is linear. Moreover, from the proof it also follows that C0(2,n) is the unique optimal code.

9.2 Optimal Codes with Three or Four Codewords (M =

相關文件