upper bound on the code based on the minimum code rate admitted by the encoder, i.e. $\frac{1}{8}$; as a consequence, $n_2 = \lceil \log_2(8K) \rceil$. Finally, the value of $n_1$ is bound to the selection of the rate-matching scheme. It is in fact usually calculated as $n_1 = \lceil \log_2(E) \rceil$, so that $2^{n_1}$ is the smallest power of two larger than $E$. However, a correction factor is introduced to avoid a too severe rate matching: if[^1] $\{ \log_2(E) \} < 0.17$, i.e. if the smallest power of two larger than $E$ is too far from $E$, the parameter is set to $n_1 = \lfloor \log_2(E) \rfloor$, and an additional constraint on the code dimension is added, namely $K < \frac{9}{16} E$, to assure that $K < N$.

If a mother polar code of length $N>E$ is selected, the mother polar code will be punctured or shortened, depending on the code rate, before the transmission. In particular, if $\frac{K}{E} \leq \frac{7}{16}$, the code will be punctured, otherwise it will be shortened. On the contrary, if $N<E$, repetition is applied and some encoded bits will be transmitted twice; in this case, the code construction assures that $K<N$.

CRC encoding {#subsec:CRC}
------------

