161-A5.1

From Microlab Classes
Jump to navigation Jump to search

In this module, you have learned that it is possible to synthesize extremal channels from multiple copies of a given binary-input channel. In particular, the binary erasure channel (BEC) has the property that all synthesized channels are equivalent to BECs.

Task Description

Your task in Module 5 is simple: given the erasure probability of a BEC, you are to count the number of synthetic channels with erasure probability that is better (lower) than the original BEC.

You need to write a function count_bad_channels which will take two arguments:

  • blocklength - an int that is a power of two, denoting the blocklength or, equivalently, the number of synthetic channels produced via the polar transform.
  • erasure_prob - a float, a positive real number between 0 and 1, indicating the erasure probability of the original BEC.

The function must return an int corresponding to the number of synthetic BECs with erasure probabilities strictly less than erasure_prob.

Expected Output

1 1 4 39 7291
1 1 6 86 20158
1 3 11 193 51758