# Selecting convolutional code for a M-QAM transmitter

I am tasked in an assignement to select an appropriate rate 1/2 convolution code for a QAM modulated transmitter with the following setup,

However, from my understanding of codes and modulation they can be viewed as individual blocks so it shouldn't matter which code I would select. So I should just select the best BER performance 1/2 convolution code with this setup instead?

Or is my understanding flawed?

• Wait, you're making contradictions in your question: you say you should choose the best, which means they perform differently, then you say you think it makes no difference which one you choose. One of these statements must be false. Nov 30, 2022 at 8:38
• Unless of course I misinterpreted your "they can be viewed as individual blocks"; what specifically can be viewed as individual blocks, of what? Nov 30, 2022 at 8:39
• @MarcusMüller I have added pictures hopefully is better and clearer now Nov 30, 2022 at 15:51
• Thanks! Yeah! That makes a lot more sense now! My brain was connecting the word "block" with "code", as in "block code" or "encoding a block of bits". Nov 30, 2022 at 15:55

Your understanding is a bit flawed. Not a big deal, though.

You cannot add AWGN to bits. One is just discrete values, and the other is a continuously Gaussian-distributed noise. So, you're always adding noise to some continuous-domain representation of your bits. The bit errors then happen on the decision side ("Rectangular QAM demodulator Baseband" in your diagram).

Now, of course it depends on the modulation what errors you get with a given noise realization! For example, you'll find that a 32-PSK has worse bit error performance than your 32-QAM of the same power. Also, you'll find that it's more likely for a symbol that underwent noise to be falsely classified as one of its immediate neighbors (just because in Gaussian noise, high noise amplitudes are less probably than smaller ones). That also leads to the realization that it does matter how you map the bits to the symbols (you might have heard of Gray coding).

So, no, you cannot just ignore the fact that there's a mapping between bits and constellation points in between.

I'm not sure what simulink does if you forget to convert bits to constellation points. It might just be using 0 and 1 as constellation points (that's OOK, and OOK is almost always a bad idea), thereby giving you 2.5 times as much power per bit¹, and of course that makes your transmission more robust than had you used 32-QAM, but also, 5 times slower.

(each bit becomes 1 symbol. There's two equally likely symbols, $$0$$ and $$1$$; they have energy $$0^2 = 0$$ and $$1^2 = 1$$, respectively, so you get an energy of $$1/2$$ on average per symbol, and thus also $$E_{\text{sym}}=E_b=1/2$$ . I'm taking a wild guess, but I'd expect that the 32-QAM modulator you're using is scaled such that its symbol energy is $$E_{\text{sym}}=1$$; but each symbol carries 5 bits, so $$E_b = E_{\text{sym}}/ 5 = 1/5$$.)

• Hmm.... but when it comes to selecting the type of convolutional code. How should I go about doing it, let say a for a system using a 32-QAM modulation Nov 30, 2022 at 16:12
• Hey, that's a good question, but it's a new one – in this question you just asked "can't I just use one system as substitute for the other when choosing an appropriate channel code", and the answer was "nope". I'm running low on time. Let me propose this: you ask a new question, start it with "Coming from my previous question (link to this here), I now need to find an optimal channel code for this system: (add the first figure from your question here). How can I find an optimal channel code for this 32-QAM system,given the following limits: · design target BER; · SNR range; · max code length…" Nov 30, 2022 at 16:19