Coded modulation schemes based on convolutional codes as well as block codes, in particular turbo codes, are considered on AWGN and flat Rayleigh fading channels. It turns out that codes based on Gray mapping are robust to channel variations, whereas Ungerbock mapping is suitable only if the channel is a-priori known. The most power efficient scheme based on convolutional codes is multilevel coding with parallel decoding. For block codes, however, bit interleaved coded modulation gains by increased codeword length and outperforms the other schemes.