Coded-Modulation Techniques for Fading Channels