# Relationship between $E_b/N_0$ and $\rm SNR$ with channel coding

I would like to know what would be the relationship between $E_b/N_0$ and $\rm SNR$ when there is a coding rate of $R_c=K/N$. Normally when there is no channel coding according to this link.

$$\textrm{SNR(dB)} = \frac{E_b}{N_0}(\textrm{dB}) + 10\log10\left(\frac{R_b}{B}\right)$$

However what would happen if I have a linear block code or other coding schemes with code rate $R_c =1/2$ or other values, how to calculate the relationship between $\rm SNR$ and $E_b/N_0$ in this case ?

The relationship between SNR and $E_b/N_0$ is independent of the code rate. Note that $E_b$ is the energy per data bit (not the coded bits), and $R_b$ is the (uncoded) data bit rate. As long as you keep using these values, you can use the formula given in your question. Of course, when going from an uncoded system to a coded system, the values of $E_b$ and $R_b$ will usually change, so the resulting SNR will generally be different.
• @user59419: That depends on how you implement it. If you add a rate $1/2$ coder and if you keep the channel bit rate unchanged, then $R_b$ (the data bit rate) will be halved. If you spend the same energy per channel bit as without coding, then $E_b$ will be doubled. – Matt L. Aug 19 '16 at 17:25
If the coding of the data does not imply a change in the bit rate of the system, then the $SNR$ will remain the same, but the transmission in the sytem will be slower as you need more bits to transmit the same message.
However, if coding the data implied a change in the data rate so that the transmission velocity (in terms of data chunks) remains the same, then the bit rate of the system would change to $R_b'=\frac{R_b}{R_c}$, and the new $SNR$ would be calculated with the equation you posted but with $R_b'$.