I am selfstudying error correction block codes and has a confusion about their performance.
Suppose we have \$r\$ information bits and we make \$k\$ coding bits in addition. I am given to understand that, for the same amount of energy per information bit, the coded system performs better compared to an uncoded system, where the channel is additive white Gaussian noise (AWGN) and modulation is BPSK.
This is demonstrated in a simulation, where the bit error rate (BER) is plotted against energy per information bit.
My question is, how does this come to be? When we code the \$r\$ bits, we in fact spread the energy over \$r+k\$ bits. Where as in uncoded case all the energy is used on \$r\$ bits alone. On the other hand the coded bit stream has \$r+k\$ dimensions whereas uncoded steam has \$r\$ dimensions.
Can someone please explain, mathematically, where the BER improvement comes from?