Your final project is to create and analyze a plot showing the bit error performance afforded by various
channel coding schemes for the binary symmetric channel = c X*Y x = Y as a function
of c € [0, .11. All of the coding schemes are targeting of a rabe of R = 1/2 information bits per channel use.
The plota should be all on the same axes, with the horizontal axis being the probability e that the channel
leaves the bit unchanged and the vertical axis being the bit error rate P € (0,21.
1. Fundamental Limits:
(a) Error-free Shannon Limit: a vertical line at the channel probability c above which arbitrarily
reliable communication at a rate 3 is possible.
Shannon Limit Allowing Errors: a curve indicating the minimum required channel probability
to communicate at a rate of } message bits per channel use while achieving a message bit
error rate no greater than p.
2. Practical Coding Schemes: Solve any fao of the following, for eztra credit, solve more.
(a) Repelition Code: Plot the bit error performance, as a function of c, of the simple code that
repeats each message bit three times, sends each of the three copies of the message bit over
the channel, and decodes the three bits based on wether the majority of the three received bits
were 1 or 0.
(b) Reed Solomon Code Decoded with Berlekamp Masseg: Plot a monte carlo estimate of the bit
error performance of a t-error correcting Reed-Solomon code over GF(q) with t = L ST with
q = 2m and m of your choosing and a Berlekamp Massey decoding algorithm, as a function of
(c) Convolutional Code: A convolutional code of your selection with rate $ and decoded with
(d) Turbo Code: A turbo code of your selection with rabe } decoded with the standard turbo
(e) LDPC Code: A LDPC code of your selection with rabe } with a belief propagation decoder.
(a) At a target bit error rate of 10-5, how much gap in channel correct transmission probability c
is there between the best scheme you examined and the fundamental limit?
These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction
of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice.
Unethical use is strictly forbidden.
import numpy as np
from itertools import product
from math import log2
from scipy.optimize import fsolve
from matplotlib import pyplot as pp
from numpy import linspace
# R = Cap(c) / (1-H2(p_b))
# where R=1/3, Cap(c)=1-H2(c) is channel capacity and p_b is target bit error rate
# so the equation is H2(p_b) = 1-Cap(c)/R = 1-3Cap(c) = 1-3(1-H2(c))
return -p*log2(p) - (1-p)*log2(1-p)...