In Part 1, we learned the basics of QAM and then dove a bit deeper in Part 2, where we discussed the finer points of QPSK, or 4-QAM. We are going to build upon the information detailed in those two articles, so it is strongly encouraged that you check them out first.
We have seen how a QAM signal is created by summing two sinusoids that are in quadrature, or shifted in phase by 90°. These are the cosine, or In-Phase (I) component, and the sine, or Quadrature (Q) component.
We also learned that as long as we keep the amplitudes of both waves the same, we can create four distinct phase shifts by inverting one, none, or both of the signals, but this left us with only four possible symbols, as seen in the QPSK constellation diagram.
Do you remember this formula from Part 1, where M is the number of symbols?
bits per symbol=log2M
We can see that having only four symbols limits us to being able to encode 2 bits per symbol. Since we are always looking for ways to encode more and more bits per symbol, what can we do to create additional symbols?
Well, we can do this by varying the amplitudes of the I and Q carriers.
The more amplitude values we can use, the more symbols (phase/amplitude variations) we can create. To illustrate this, let’s explore 16-QAM.
16-QAM
From its name, we can tell that 16-QAM has sixteen symbols and is therefore capable of encoding 4 bits per symbol.
4=log216
It creates these additional symbols by incorporating two extra amplitude levels per carrier. Let’s take a look at Figure 17-10 from the IEEE 802.11-2020 standard, which shows the constellation diagram for 16-QAM.
We can see above that—as opposed to the I and Q carriers in QPSK, which are each only capable of one of two amplitude values (‑1 or +1)—16-QAM’s I and Q carriers can each have one of four amplitude values (‑3, ‑1, +1, or +3). This gives us 16 unique phase/amplitude combinations, allowing us to encode 4 bits per symbol.
If you examine the constellation diagram, you may see that some of the symbols, such as “1111” and “1010” share the same phase—in this case, 45°. You’ll see this occur in each quadrant of the constellation diagram where both the I and Q carriers possess the same absolute amplitude value (i.e., the non-negative number value—disregarding its sign). For example, in the upper left-hand quadrant, you can see that the constellation points at coordinates (-1, +1) and (-3, +3) will both have a phase of 135°.
You may notice that these resultant phases will be identical to those in QPSK (45°, 135°, 225°, and 315°). However, in QPSK, since there are only four symbols, none share the same phase. In 16‑QAM, two symbols will share one of these four phases. However, these symbols will still be unique because the amplitudes will differ.
For example, in the graph below, we can see that if both the I and Q carriers have an amplitude of +1, the resultant phase will be 45° and the amplitude will be 1.414.
Now, let’s sum I and Q carriers which both have amplitudes of +3. We can see that the resultant phase is still 45°. However, the amplitude will be 4.243.
There are a lot more than just four phases used in 16-QAM. Let’s focus our attention on the symbol “0001.” If we look again at the constellation diagram, we can see that to create this symbol, the I carrier will have an amplitude of ‑3, and the Q carrier will have an amplitude of ‑1. This will give us a signal with a resultant phase of 198.435° and an amplitude of around 3.162. See image below.
Remember that negative amplitudes invert the carrier, i.e., offset it by 180°. Also, recall that when we speak of the phase of a resultant wave, it is always in reference to the In-Phase, or I carrier.
Just for reference, Table 1 below shows all the possible phase and amplitude combinations for the symbols displayed in the 16-QAM constellation diagram printed in the 802.11-2020 standard—along with their assigned bit values.
If you’re wondering how to do the calculations above, check out my article on Constellation Diagrams.
How It Works
16-QAM works in much the same way as the QPSK process outlined in Part 2. The main differences lie in the fact that 16-QAM can encode four bits per symbol, as opposed to only two.
So, as new bits arrive to be modulated and transmitted, the input data stream is first divided into groups of four bits. These bits are numbered in the order they arrive, so the first bit is B0, the second bit is B1, the third is B2, and the fourth bit is B3.
These bits are sent through a serial-to-parallel converter, which splits these four bits into two groups of two bits—B0B1 and B2B3—that can be processed simultaneously.
These two-bit groups will then be mapped to one of the constellation points using the following 16-QAM encoding table from Figure 17-14 in the IEEE 802.11-2020 standard, where B0B1 will dictate the value of the I component, and B2B3 will dictate the value of the Q component.
Each two-bit group is communicated as a pulse, the voltage of which is determined by the table above. Here, we can see that a voltage of ‑3 will designate a bit value of 00, a voltage of ‑1 will designate a bit value of 01, etc.*
*Actual voltage levels may differ in practice, depending on the implementation.
The low-frequency B0B1 baseband signal is multiplied by, or mixed with, the high-frequency cosine signal (i.e., the carrier wave) generated by the Local Oscillator (LO). The resulting pulse amplitude modulated signal is the In-Phase, or I component.
A 90° phase shift is applied to the LO signal, creating the sine carrier. This is multiplied by the B2B3 baseband signal, resulting in the Quadrature, or Q component. If the baseband signal carries a negative voltage, the carrier will invert, or shift in phase 180°.
The I and the Q carriers are then summed together to form the 16-QAM symbol.
To visualize the entire process at a high level, here is a basic block diagram of the operation:
Putting It All Together
Using the same example as in Part 2, let’s say we need to transmit the following eight bits, with the rightmost bit arriving first:
16-QAM can operate on four bits at once, so it takes the first group of four bits that it sees, which is “1101,” and begins processing.
Starting from the right, “1” is seen first and becomes B0, “0” becomes B1, and the next two “1’s” become B2 and B3, respectively. This is represented in the block diagram above. Following the B0B1B2B3 symbol format from the constellation diagram, we see that we will be encoding the symbol “1011.”
These four serial bits will be split into two groups of two parallel bits and mapped to their correct voltages using the 16‑QAM encoding table. Using the table, we can see that B0B1 will be assigned a voltage +3, and B2B3 a voltage of +1.
B0B1 will mixed with the cosine generated by the LO, forming the I carrier. B2B3 will be mixed with the sine signal, creating the Q carrier.
The I carrier and the Q carrier will be summed together, with the resultant signal having a phase of 18.435°. This is shown in the image below and aligns with what we see in the constellation diagram, as well as Table 1.
To transmit all 8 bits, this whole process will need to repeat once more, this time encoding the symbol “1001.”
Beyond 16-QAM
As previously mentioned, we’re always looking to cram more and more bits into each symbol. With each wireless standard, new modulation schemes are introduced—64-QAM, 256-QAM, 1024-QAM, 4096-QAM, etc., and work much in the same way as the process outlined above. The obvious differences lie in the amount of bits being encoded. This means higher data rates, which is great, but there is a downside.
The ability to encode more bits requires more phase/amplitude variations. For example, below is Figure 21-24 from the IEEE 802.11-2020 standard which shows only the first quadrant of the 256-QAM constellation diagram.
As you can see, the I and Q carriers in 256-QAM are each capable of sixteen possible amplitude levels (‑15, ‑13, ‑11, … ‑1, +1, … +11, +13, +15). That’s a far cry from the four found in 16-QAM. All of those extra amplitude values are needed to create the 256 phase/amplitude variations. While this makes it possible to encode 8 bits per symbol, the acceptable error vector magnitude (EVM) is significantly smaller, as the constellation points are much closer together.
Error Vector Magnitude (EVM) is a measure of the accuracy of a transmitter or receiver. The EVM, in a nutshell, is how far the phase/amplitude of a received symbol deviates from the ideal phase/amplitude of the constellation point.
This means that, for the higher modulation levels, there’s a much greater chance of the receiver not being able to accurately demodulate the symbol. In order to experience these high data rates, the signal to noise ratio (SNR) of the received signal needs to be very high. This means a clean RF environment with little to no interference and also usually entails being pretty close to the transmitter, i.e., being in the same room as the Access Point.
Everything comes at a cost.
Wave images created with Desmos Graphing Calculator:
Desmos, Inc. (n.d.). Graphing calculator. Desmos. Retrieved September 26, 2021, from https://www.desmos.com/calculator.