Difference between revisions of "Aufgaben:Exercise 1.16: Block Error Probability Bounds for AWGN"
(30 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | {{quiz-Header|Buchseite= | + | {{quiz-Header|Buchseite=Channel_Coding/Limits_for_Block_Error_Probability}} |
− | [[File:P_ID2414__KC_A_1_15.png|right|frame| | + | [[File:P_ID2414__KC_A_1_15.png|right|frame|Function Q(x) and approximations;<br>it holds: Qu(x)≤Q(x)≤Qo(x) ]] |
− | + | We assume the following constellation: | |
− | * | + | *A linear block code with code rate R=k/n and distance spectrum $\{W_i\}, \ i = 1, \ \text{...} \ , n$, |
− | |||
− | |||
+ | *an AWGN channel characterized by EB/N0 ⇒ convertible to noise power σ2, | ||
− | + | *a receiver based on "soft decision" as well as the "maximum likelihood criterion". | |
+ | |||
+ | |||
+ | Under the assumption valid for the entire exercise that always the zero-word $\underline{x}_{1} = (0, 0, \text{... } \ , 0)$ is sent, the [[Channel_Coding/Limits_for_Block_Error_Probability#Union_Bound_of_the_block_error_probability|"pairwise error probability"]] with a different code word $\underline{x}_{l} (l = 2,\ \text{...} \ , 2^k)$: | ||
:Pr[x_1↦x_l]=Q(√wH(x_l)/σ2). | :Pr[x_1↦x_l]=Q(√wH(x_l)/σ2). | ||
− | + | The derivation of this relation can be found in [Liv10]. Used in this equation are: | |
− | * | + | *the [[Theory_of_Stochastic_Signals/Gaussian_Distributed_Random_Variables#Exceedance_probability|"complementary Gaussian error function"]] ${\rm Q}(x)$, |
− | |||
− | |||
+ | *the [[Channel_Coding/Objective_of_Channel_Coding#Important_definitions_for_block_coding|"Hamming weight"]] wH(x_l) of the code word x_l, | ||
− | + | *the [[Digital_Signal_Transmission/Optimization_of_Baseband_Transmission_Systems#System_optimization_with_power_limitation|"AWGN noise power"]] σ2=(2⋅R⋅EB/N0)−1. | |
− | * | + | |
+ | This allows various bounds to be specified for the block error probability: | ||
+ | |||
+ | *the so called [[Channel_Coding/Limits_for_Block_Error_Probability#Union_Bound_of_the_block_error_probability|"Union Bound"]] (UB): | ||
− | :p1=2k∑l=2Pr[x_1↦x_l]=2k∑l=2Q(√wH(x_l)/σ2), | + | :$$p_1 = \sum_{l = 2}^{2^k}\hspace{0.05cm}{\rm Pr}[\hspace{0.05cm}\underline{x}_{\hspace{0.02cm}1} \hspace{-0.02cm}\mapsto \hspace{-0.02cm}\underline{x}_{\hspace{0.02cm}l}\hspace{0.05cm}] = \sum_{l \hspace{0.05cm}= \hspace{0.05cm}2}^{2^k}\hspace{0.05cm}{\rm Q}\left ( \sqrt{w_{\rm H}(\underline{x}_{\hspace{0.02cm}l})/\sigma^2} \right ) \hspace{0.05cm},$$ |
− | * | + | *the so called [[Channel_Coding/Limits_for_Block_Error_Probability#Bounds_for_the_.287.2C_4.2C_3.29_Hamming_code_at_the_AWGN_channel|"Truncated Union Bound"]] $\rm (TUB)$: |
:p2=Wdmin⋅Q(√dmin/σ2), | :p2=Wdmin⋅Q(√dmin/σ2), | ||
− | * | + | *the [[Channel_Coding/Limits_for_Block_Error_Probability#The_upper_bound_according_to_Bhattacharyya|"Bhattacharyya Bound"]]: |
− | :$$p_3 = W(\beta) - 1\hspace{0.05cm},\hspace{0.2cm} {\rm | + | :$$p_3 = W(\beta) - 1\hspace{0.05cm},\hspace{0.2cm} {\rm with}\hspace{0.15cm} \beta = {\rm e}^{ - 1/(2\sigma^2) } \hspace{0.05cm}.$$ |
− | In | + | :In this case, replace the distance spectrum {Wi} with the weight enumerator function: |
:{Wi}⇔W(X)=n∑i=0Wi⋅Xi=W0+W1⋅X+W2⋅X2+...+Wn⋅Xn. | :{Wi}⇔W(X)=n∑i=0Wi⋅Xi=W0+W1⋅X+W2⋅X2+...+Wn⋅Xn. | ||
− | + | In the transition from the "Union Bound" p1 to the more imprecise bound p3 among others | |
+ | *the function Q(x) is replaced by the [https://en.wikipedia.org/wiki/Chernoff_bound "Chernoff-Rubin bound"] QCR(x). | ||
+ | |||
+ | *Both functions are shown in the above graph (red and green curve, resp.). | ||
+ | |||
− | In | + | In the [[Aufgaben:Exercise_1.16Z:_Bounds_for_the_Gaussian_Error_Function|"Exercise 1.16Z"]] the relationship between these functions is evaluated numerically and referenced to the bounds ${\rm Q}_{\rm o}(x)$ and ${\rm Q}_{\rm u}(x)$ which are also drawn in the above graph. |
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Hints: | ||
+ | * This exercise belongs to the chapter [[Channel_Coding/Bounds_for_Block_Error_Probability|"Bounds for block error probability"]]. | ||
− | === | + | * The above cited reference "[Liv10]" refers to the lecture manuscript "Liva, G.: Channel Coding. Chair of Communications Engineering, TU Munich and DLR Oberpfaffenhofen, 2010." |
+ | |||
+ | * Further we refer to the interactive HTML5/JavaScript applet [[Applets:Komplementäre_Gaußsche_Fehlerfunktionen| "Complementary Gaussian error functions"]]. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Questions=== | ||
<quiz display=simple> | <quiz display=simple> | ||
− | { | + | {Which equation applies to the "Union Bound"? |
|type="[]"} | |type="[]"} | ||
− | - p1=∑2kl=2Wl·Q[(l/σ2)0.5], | + | - $p_{1} = \sum_{l\hspace{0.05cm}=\hspace{0.05cm}2}^{2^k} W_{l} · {\rm Q}\big[(l/\sigma^2)^{0.5}\big],$ |
− | + $p_{1} = \sum_{i=1}^{n} W_{i} · {\rm Q}[(i/\sigma^2)^{0.5}] | + | + $p_{1} = \sum_{i\hspace{0.05cm}=\hspace{0.05cm}1}^{n} W_{i} · {\rm Q}\big[(i/\sigma^2)^{0.5}\big].$ |
− | { | + | {Specify the Union Bound for the (8,4,4) code and various σ. |
|type="{}"} | |type="{}"} | ||
− | $ | + | $\sigma = 1.0 \text{:} \hspace{0.4cm} p_{1} \ = \ $ { 32.15 3% } % |
− | $\sigma = 0.5 \text{:} \hspace{0. | + | $\sigma = 0.5 \text{:} \hspace{0.4cm} p_{1} \ = \ $ { 0.0444 3% } $\ \%$ |
− | { | + | {Given the same boundary conditions, what does the "Truncated Union Bound" provide? |
|type="{}"} | |type="{}"} | ||
− | $ | + | $\sigma = 1.0 \text{:} \hspace{0.4cm} p_{2} \ = \ $ { 31.92 3% } % |
− | $\sigma = 0.5 \text{:} \hspace{0. | + | $\sigma = 0.5 \text{:} \hspace{0.4cm} p_{2} \ = \ $ { 0.044 3% } $\ \%$ |
− | { | + | {Which statement is always true (for all constellations)? |
|type="[]"} | |type="[]"} | ||
− | + | + | + The block error probability is never greater than p1. |
− | - | + | - The block error probability is never greater than p2. |
− | { | + | {How do you get from p1 to the "Bhattacharyya Bound" p3? |
|type="[]"} | |type="[]"} | ||
− | + | + | + Replace the error function Q(x) with the function QCR(x). |
− | - | + | - Set the Bhattacharyya parameter β=1/σ. |
− | + | + | + Instead of {Wi} uses the weight enumerator function W(X). |
− | { | + | {Specify the Bhattacharyya Bound for σ=1 and σ=0.5 . |
|type="{}"} | |type="{}"} | ||
− | $ | + | $\sigma = 1.0 \text{:} \hspace{0.4cm} p_{3} \ = \ $ { 191.3 3% } % |
− | $\sigma = 0.5 \text{:} \hspace{0. | + | $\sigma = 0.5 \text{:} \hspace{0.4cm} p_{3} \ = \ { 0.47 3% }\ \%$ |
</quiz> | </quiz> | ||
− | === | + | ===Solution=== |
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | '''(1)''' | + | '''(1)''' The correct solution is <u>suggestion 2</u>: |
− | *$ | + | *The distance spectrum $\{W_i\}$ is defined for $i = 0, \ \text{...} \ , \ n$: |
− | |||
+ | #W1 indicates how often the Hamming weight wH(x_i)=1 occurs. | ||
+ | #Wn indicates how often the Hamming weight wH(x_i)=n occurs. | ||
− | + | ||
+ | *With that, the "Union Bound" is: | ||
:p1=Pr(UnionBound)=n∑i=1Wi⋅Q(√i/σ2). | :p1=Pr(UnionBound)=n∑i=1Wi⋅Q(√i/σ2). | ||
− | '''(2)''' | + | '''(2)''' The distance spectrum of the (8,4,4) code was given as W0=1, W4=14, W8=1. |
+ | *Thus, one obtains for σ=1: | ||
:$$p_1 = W_4 \cdot {\rm Q}\left ( 2 \right ) + W_8 \cdot {\rm Q}\left ( 2 \cdot \sqrt{2} \right ) | :$$p_1 = W_4 \cdot {\rm Q}\left ( 2 \right ) + W_8 \cdot {\rm Q}\left ( 2 \cdot \sqrt{2} \right ) | ||
− | = 14 \cdot 2.28 \cdot 10^{-2}+ 1 \cdot 0.23 \cdot 10^{-2} \hspace{0.15cm}\underline{\approx | + | = 14 \cdot 2.28 \cdot 10^{-2}+ 1 \cdot 0.23 \cdot 10^{-2} \hspace{0.15cm}\underline{\approx 32.15\%}\hspace{0.05cm},$$ |
− | + | *For σ=0.5: | |
:$$p_1 = 14 \cdot {\rm Q}\left ( 4 \right ) + {\rm Q}\left ( 4 \cdot \sqrt{2} \right ) | :$$p_1 = 14 \cdot {\rm Q}\left ( 4 \right ) + {\rm Q}\left ( 4 \cdot \sqrt{2} \right ) | ||
− | = 14 \cdot 3.17 \cdot 10^{-5}+ 1.1 \cdot 10^{-8} \hspace{0.15cm}\underline{\approx 0. | + | = 14 \cdot 3.17 \cdot 10^{-5}+ 1.1 \cdot 10^{-8} \hspace{0.15cm}\underline{\approx 0.0444 \%}\hspace{0.05cm}.$$ |
− | '''(3)''' | + | '''(3)''' With the minimum distance dmin=4 we get: |
− | :$$\sigma = 1.0: \hspace{0. | + | :$$\sigma = 1.0\text{:} \hspace{0.4cm} p_2 \hspace{-0.15cm}\ = \ \hspace{-0.15cm} W_4 \cdot {\rm Q}\left ( 2 \right ) \hspace{0.15cm}\underline{= 31.92\%}\hspace{0.05cm},$$ |
− | :$$\sigma = 0.5: \hspace{0. | + | :$$\sigma = 0.5\text{:} \hspace{0.4cm} p_2 \hspace{-0.15cm}\ = \ \hspace{-0.15cm}W_4 \cdot {\rm Q}\left ( 4 \right ) \approx p_1 \hspace{0.15cm}\underline{ = 0.0444 \%}\hspace{0.05cm}.$$ |
− | '''(4)''' | + | '''(4)''' The correct solution is <u>suggestion 1</u>: |
+ | *The "Union Bound" - denoted here by p1 - is an upper bound on the block error probability in all cases. | ||
+ | |||
+ | *For the bound p2 ("Truncated Union Bound") this is not always true. | ||
+ | |||
+ | *For example, in the (7,4,3) Hamming code ⇒ W3=W4=7, W7=1 is obtained with standard deviation σ=1: | ||
:p2 = 7⋅Q(√3)=7⋅4.18⋅10−2≈0.293, | :p2 = 7⋅Q(√3)=7⋅4.18⋅10−2≈0.293, | ||
:p1 = p2+7⋅Q(√4)+1⋅Q(√7)≈0.455. | :p1 = p2+7⋅Q(√4)+1⋅Q(√7)≈0.455. | ||
− | + | *The actual block error probability is likely to be between $p_{2} = 29.3\%$ and $p_{1} = 45.5\%$ (but this has not been verified). <br>That is, p2 is not an upper bound. | |
− | '''(5)''' | + | '''(5)''' Correct are <u>suggested solutions 1 and 3</u>, as the following calculation for the (8,4,4) code shows: |
− | * | + | *It holds ${\rm Q}(x) ≤ {\rm Q_{CR}}(x) = {\rm e}^{-x^2/2}$. Thus, for the Union Bound |
:p1=W4⋅Q(√4/σ2)+W8⋅Q(√8/σ2) | :p1=W4⋅Q(√4/σ2)+W8⋅Q(√8/σ2) | ||
− | + | :another upper bound can be specified: | |
− | :$$p_1 \le W_4 \cdot {\rm | + | :$$p_1 \le W_4 \cdot {\rm e}^{ - {4}/(2 \sigma^2) } +W_8 \cdot {\rm e}^{ - {8}/(2 \sigma^2) } \hspace{0.05cm}.$$ |
− | * | + | *With $\beta = {\rm e}^{-1/(2\sigma^2)}$ can be written for this also (so the given β=1/σ is wrong): |
:p1≤W4⋅β4+W8⋅β8. | :p1≤W4⋅β4+W8⋅β8. | ||
− | * | + | *The weight function of the (8,4,4) code is: |
− | :W(X)=1+W4⋅X4+W8⋅X8⇒W(β)−1=W4⋅β4+W8⋅β8 | + | :$$W(X) = 1 + W_4 \cdot X^4 + W_8 \cdot X^8 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} W(\beta) - 1 = W_4 \cdot \beta^4 + W_8 \cdot \beta^8\hspace{0.3cm} |
+ | \Rightarrow \hspace{0.3cm} p_3 = W(\beta) - 1 \ge p_1\hspace{0.05cm}.$$ | ||
− | |||
+ | '''(6)''' With σ=1, the Bhattacharyya parameter is β=e−0.5=0.6065, and thus one obtains for the Bhattacharyya Bound: | ||
+ | |||
+ | :p3=14⋅β4+β8=14⋅0.135+0.018=1.913=191.3_. | ||
+ | |||
+ | *Considering that p3 is a bound for a probability, p3=1.913 is only a trivial bound. | ||
− | + | *For $\sigma = 0.5$, on the other hand, $\beta = {\rm e}^{-2} \approx 0.135.$ Then holds: | |
− | :$$p_3 = 14 \cdot \beta^4 + \beta^8 = 14 \cdot | + | :$$p_3 = 14 \cdot \beta^4 + \beta^8 = 14 \cdot 3.35 \cdot 10^{-4} + 1.1 \cdot 10^{-7} \hspace{0.15cm}\underline{= 0.47 \%}\hspace{0.05cm}.$$ |
− | + | A comparison with subtask '''(2)''' shows that in the present example the Bhattacharyya Bound p3 is above the "Union Bound" $p_{1}$ by a factor | |
+ | :$$(0.47 - 10^{-2})/(0.044 - 10^{-2}) > 10.$$ | ||
+ | |||
+ | *The reason for this large deviation is the Chernoff-Rubin bound, which is well above the Q function. | ||
− | + | *In [[Aufgaben:Exercise_1.16Z:_Bounds_for_the_Gaussian_Error_Function|"Exercise 1.16Z"]], the deviation between QCR and Q(x) is also calculated quantitatively: | |
− | |||
− | |||
:QCR(x)/Q(x)≈2.5⋅x⇒QCR(x=4)/Q(x=4)≈10. | :QCR(x)/Q(x)≈2.5⋅x⇒QCR(x=4)/Q(x=4)≈10. | ||
Line 158: | Line 185: | ||
− | [[Category: | + | [[Category:Channel Coding: Exercises|^1.6 Error Probability Bounds^]] |
Latest revision as of 17:17, 5 August 2022
We assume the following constellation:
- A linear block code with code rate R=k/n and distance spectrum {Wi}, i=1, ... ,n,
- an AWGN channel characterized by EB/N0 ⇒ convertible to noise power σ2,
- a receiver based on "soft decision" as well as the "maximum likelihood criterion".
Under the assumption valid for the entire exercise that always the zero-word x_1=(0,0,... ,0) is sent, the "pairwise error probability" with a different code word x_l(l=2, ... ,2k):
- Pr[x_1↦x_l]=Q(√wH(x_l)/σ2).
The derivation of this relation can be found in [Liv10]. Used in this equation are:
- the "complementary Gaussian error function" Q(x),
- the "Hamming weight" wH(x_l) of the code word x_l,
- the "AWGN noise power" σ2=(2⋅R⋅EB/N0)−1.
This allows various bounds to be specified for the block error probability:
- the so called "Union Bound" (UB):
- p1=2k∑l=2Pr[x_1↦x_l]=2k∑l=2Q(√wH(x_l)/σ2),
- the so called "Truncated Union Bound" (TUB):
- p2=Wdmin⋅Q(√dmin/σ2),
- p3=W(β)−1,withβ=e−1/(2σ2).
- In this case, replace the distance spectrum {Wi} with the weight enumerator function:
- {Wi}⇔W(X)=n∑i=0Wi⋅Xi=W0+W1⋅X+W2⋅X2+...+Wn⋅Xn.
In the transition from the "Union Bound" p1 to the more imprecise bound p3 among others
- the function Q(x) is replaced by the "Chernoff-Rubin bound" QCR(x).
- Both functions are shown in the above graph (red and green curve, resp.).
In the "Exercise 1.16Z" the relationship between these functions is evaluated numerically and referenced to the bounds Qo(x) and Qu(x) which are also drawn in the above graph.
Hints:
- This exercise belongs to the chapter "Bounds for block error probability".
- The above cited reference "[Liv10]" refers to the lecture manuscript "Liva, G.: Channel Coding. Chair of Communications Engineering, TU Munich and DLR Oberpfaffenhofen, 2010."
- Further we refer to the interactive HTML5/JavaScript applet "Complementary Gaussian error functions".
Questions
Solution
- The distance spectrum {Wi} is defined for i=0, ... , n:
- W1 indicates how often the Hamming weight wH(x_i)=1 occurs.
- Wn indicates how often the Hamming weight wH(x_i)=n occurs.
- With that, the "Union Bound" is:
- p1=Pr(UnionBound)=n∑i=1Wi⋅Q(√i/σ2).
(2) The distance spectrum of the (8,4,4) code was given as W0=1, W4=14, W8=1.
- Thus, one obtains for σ=1:
- p1=W4⋅Q(2)+W8⋅Q(2⋅√2)=14⋅2.28⋅10−2+1⋅0.23⋅10−2≈32.15%_,
- For σ=0.5:
- p1=14⋅Q(4)+Q(4⋅√2)=14⋅3.17⋅10−5+1.1⋅10−8≈0.0444%_.
(3) With the minimum distance dmin=4 we get:
- σ=1.0:p2 = W4⋅Q(2)=31.92%_,
- σ=0.5:p2 = W4⋅Q(4)≈p1=0.0444%_.
(4) The correct solution is suggestion 1:
- The "Union Bound" - denoted here by p1 - is an upper bound on the block error probability in all cases.
- For the bound p2 ("Truncated Union Bound") this is not always true.
- For example, in the (7,4,3) Hamming code ⇒ W3=W4=7, W7=1 is obtained with standard deviation σ=1:
- p2 = 7⋅Q(√3)=7⋅4.18⋅10−2≈0.293,
- p1 = p2+7⋅Q(√4)+1⋅Q(√7)≈0.455.
- The actual block error probability is likely to be between p2=29.3% and p1=45.5% (but this has not been verified).
That is, p2 is not an upper bound.
(5) Correct are suggested solutions 1 and 3, as the following calculation for the (8,4,4) code shows:
- It holds Q(x)≤QCR(x)=e−x2/2. Thus, for the Union Bound
- p1=W4⋅Q(√4/σ2)+W8⋅Q(√8/σ2)
- another upper bound can be specified:
- p1≤W4⋅e−4/(2σ2)+W8⋅e−8/(2σ2).
- With β=e−1/(2σ2) can be written for this also (so the given β=1/σ is wrong):
- p1≤W4⋅β4+W8⋅β8.
- The weight function of the (8,4,4) code is:
- W(X)=1+W4⋅X4+W8⋅X8⇒W(β)−1=W4⋅β4+W8⋅β8⇒p3=W(β)−1≥p1.
(6) With σ=1, the Bhattacharyya parameter is β=e−0.5=0.6065, and thus one obtains for the Bhattacharyya Bound:
- p3=14⋅β4+β8=14⋅0.135+0.018=1.913=191.3_.
- Considering that p3 is a bound for a probability, p3=1.913 is only a trivial bound.
- For σ=0.5, on the other hand, β=e−2≈0.135. Then holds:
- p3=14⋅β4+β8=14⋅3.35⋅10−4+1.1⋅10−7=0.47%_.
A comparison with subtask (2) shows that in the present example the Bhattacharyya Bound p3 is above the "Union Bound" p1 by a factor
- (0.47−10−2)/(0.044−10−2)>10.
- The reason for this large deviation is the Chernoff-Rubin bound, which is well above the Q function.
- In "Exercise 1.16Z", the deviation between QCR and Q(x) is also calculated quantitatively:
- QCR(x)/Q(x)≈2.5⋅x⇒QCR(x=4)/Q(x=4)≈10.