What is the intuitive way of understanding concept of constellations in digital communication? I know the Gram Schmidt Procedure, Orthonormal basis functions and how to find the constellation but just wish to know the physical significance of constellations. Plus in case of QPSK- there are two variants- Offset QPSK and Coincident QPSK, the constellation of the two is the same except for the fact that the transition paths are different. What does this signify? And one more doubt is with Nyquist Theorem for Zero ISI: in this case we get the condition : p(nTb)=0 for all n not equal to zero, the most obvious solution for this is the delta function but why Sinc function is used? Thanks a lot in advance.

  • \$\begingroup\$ By the statement "Transition paths are different" I mean that in one constellation the transition through the origin is permitted but that is not the case with the other. \$\endgroup\$ – Enthusiast Aug 5 '13 at 19:27
  • 1
    \$\begingroup\$ That's a lot of questions. You probably should split them up. \$\endgroup\$ – Brian Carlton Aug 5 '13 at 20:26

What is the intuitive way of understanding concept of constellations in digital communication?

Understanding a constellation is easy if you understand how a signal is represented as I/Q data. For a good introduction, I'd recommend What Is I/Q Data - National Instruments. I'll summarise here.

Consider what modulation is. We have some carrier, and then we modulate some parameter of that carrier to contain data. I/Q data is a convenient way to represent arbitrary modulation schemes.

Consider first an unmodulated carrier. We will have in our receiver an RF mixer tuned to the carrier frequency. The output of this mixer, receiving this unmodulated carrier, can be represented as:

I/Q representation of carrier

The output of the mixer at any instant can be represented by a point on this plot, and since this is an unmodulated carrier at the mixer frequency, the point does not move.

The blue vector most intuitively represents the signal. Its length corresponds to the amplitude of the signal. The angle of the vector represents the phase. We did not specify the phase or the amplitude of the unmodulated carrier we are receiving, so really any point on this plot represents an unmodulated carrier at the mixer frequency, except the very center, which represents receiving no signal at all. As we move away from the origin, the amplitude increases. As we rotate about the origin, the phase changes.

If we were receiving an AM signal, the point will move. We might be at any phase, because phase information is not relevant to AM, so the blue vector could be at any angle. But, the length of the vector will change with the amplitude. If we watch the point move over time, it will trace a line. If we measure the distance from the origin to the point over time, we recover the amplitude of the signal, which is our baseband signal.

FM is similar, except the amplitude does not change, but the phase does. Thus, the point will trace an arc around the origin. Measuring the rotation of this point recovers the signal.

I/Q data is simply the translation of these polar coordinates to rectangular coordinates by basic trigonometry. We do this just because it's more convenient to process and implement in hardware. You can think of them as in phase and quadrature components, or sine and cosine components:

$$ \begin{align} I &= M \cos(\phi)\\ Q &= M \sin(\phi)\\ M &= \sqrt{I^2+Q^2}\\ \phi &= \arctan(Q/I) \end{align} $$

A digital constellation represents the possible states in this graphical notation, and how each of those states corresponds to some bits. For example, take BPSK:

enter image description here

There are two possible states, equal in amplitude but differing in phase by \$180^\circ\$.

In case of QPSK- there are two variants- Offset QPSK and Coincident QPSK, the constellation of the two is the same except for the fact that the transition paths are different. What does this signify?

There are far more than just two variants of QPSK. What they all have in common is this constellation:

QPSK constellation

The difference is in how the signal moves from state to state. Remember that this constellation just shows the state at the point at which the signal is sampled for each symbol. Now, the simplest implementation would be to instantly change the phase for each symbol:

QPSK in time domain

This would be simple to implement, and would be quite robust against timing errors between the transmitter and receiver, since if the receiver samples the symbol at a little bit the wrong time, it doesn't matter, because nothing is changing.

Unfortunately, these sharp phase transitions also mean a lot of higher frequency energy. This is a poor use of spectrum and transmitter power. So, a good transmitter will use some sort of low-pass filter so that the signal changes only as fast as it needs to change to get to the next state in time for the next symbol. Thus, we waste less spectrum and transmitter power.

Here's a graphical comparison. Here, I've applied very little low-pass filtering (I can't apply none, because that would require an infinite sample rate):

QPSK I/Q, no filtering

And here's what the signal looks like with reasonable filtering that would be used in practice:

QPSK I/Q, reasonable filtering

Note I'm not adding any noise here; the "hair" is just from the filtering and the random binary input I'm feeding the modulator.

Notice how many of the transitions pass near or through the origin. This means the amplitude of the signal went all the way to 0 then reversed phase. This can be undesirable; rapid changes in phase or amplitude require more spectrum.

Offset QPSK is one way to avoid this. The easiest way I find to understand it is this: the ordinary (coincident) QPSK where we transition from any symbol to any other symbol can be considered two BPSK transmitters in quadrature. One transmits the first bit of the symbol, while the other transmits the other bit.

Offset QPSK simply delays one of these BPSK transmitters, so they take turns changing. This way, we never go through the origin. My software doesn't have a trivial way to generate an I/Q plot for OQPSK, so I'll borrow this example from National Instruments:


And one more doubt is with Nyquist Theorem for Zero ISI: in this case we get the condition : p(nTb)=0 for all n not equal to zero, the most obvious solution for this is the delta function but why Sinc function is used?

Well, if you convolve (filter) by the delta function, indeed you introduce no ISI, but also you haven't filtered anything; you are left with the same signal you put in. Remember previously I stated that we want to low-pass filter the signal to make better use of spectrum and transmitter power. In this application, this is called pulse shaping. The objective is not only to remove higher frequency components, but to do so without introducing ISI.

This is actually not so easy. Remember that we recover the digital symbol by sampling the signal at a particular point. When a pulse, representing a symbol, goes through the pulse-shaping filter, it will turn into something resembling a sinc filter, with ringing extending out to both ends. The trick to reducing ISI is to make the points at which other symbols are sampled fall at the points where this ringing crosses zero. Thus, the ringing from adjacent pulses will have zero effect at the points where other symbols are sampled.

  • \$\begingroup\$ Thanks for such a wonderful explanation. Can you please elaborate on how greater bandwidth is needed if sudden changes in amplitude and phase occur? \$\endgroup\$ – Enthusiast Aug 6 '13 at 7:55
  • \$\begingroup\$ @Enthusiast that sounds like a new question. Short answer: Fourier transform. \$\endgroup\$ – Phil Frost Aug 6 '13 at 9:26
  • \$\begingroup\$ @Enthusiast actually, you already have a question which is somewhat similar: Time limited and band limited signal. If it's still not clear and you do ask a new question, link it here and I'll try to answer. \$\endgroup\$ – Phil Frost Aug 6 '13 at 12:16
  • \$\begingroup\$ Ah! I got it myself. Thanks for not answering and just providing the hint. \$\endgroup\$ – Enthusiast Sep 13 '13 at 15:57
  • \$\begingroup\$ Btw how did you get those constellations? Did you use any s/w? \$\endgroup\$ – Enthusiast Sep 14 '13 at 4:16

My understanding of constellations is that they are just a way to represent the sinusoidal signal that is used to send the data.

For instance, let's say you wanted to encode a single bit in a sinusoidal signal. You have 2 choices for the bit value and you would want the signal for each choice to look as different from each other as possible. This is an instance of Binary PSK. You could choose 1 signal to have a phase shift of 35 degrees(for bit = 0) and another to have a phase shift of 215 degrees(for bit = 1). Assuming the peak amplitude of each signal is 1 mV, your receiver would receive a voltage of 1 mV at a shift of 35 degrees if the bit value sent was 0, and a voltage of -1 mV at a shift of 35 degrees if the bit value was 1. This explanation is leaving out the demodulation/modulation aspect of PSK data transmission but I believe this covers the fundamental idea of representing a bit value as a sinusoidal signal. Normally you would use 0 and 180 degrees as the respective phase shifts for BPSK.

Now let's say you wanted to send 2 bits at a time in 1 signal. You could use Quadrature PSK. The gist of this is that you would transmit every odd bit as a cosine signal, and even bit as a sine signal or vice versa. You would turn each bit into their signal, and then sum the cosine and sine signals together before you send them out as 1 signal. Lets say for even bits a signal of 1 mV shifted by 100 degrees represents 1, and 280 degrees represents 0. For odd bits a shift of 10 degrees represents represents 1, and 190 degrees represents 0. When you sum 2 signals together the result is a signal that is somewhere in between the two signals. For example, when someone passes in the bits 00 to our signal generator the resulting signal would be a wave with a peak amplitude of 1 mV at 235 degrees. Since the detector knows it is dealing with 2 bits and it knows the respective phase shifts of each bit beforehand, it can figure out from the received signal of the combined phase shifts what the original phase shifted signals were and thus what the bits were. The Hilbert transform is used to modulate and demodulate the odd and even bit sequences making them independent bit streams. You can send completely different data that is interleaved and sent as 1 signal.

Coming back to your question, the constellation diagram indicates the phase shifts representing each signal. It is turning binary data into a polar representation. You can imagine why the the sinusoidal signals would need to look as different from each other as possible to avoid inter symbol interference. If a signal looked close to having a phase shift of another signal, the detector would have a difficult time deciding what signal was originally sent.

When sending the signal representing the bit stream, the signal is sent for a certain amount of time before it is changed. So lets say you are encoding 2 bits at a time, you might send a signal with a phase shift of 10 degrees for 1 mSec, then change the signal to have a phase shift of 200 degree for 1 mSec for the next 2 bits. If you just happen to have 2 signals back to back that are 180 degrees out of sync with each other then your voltage could jump from 1 mV to -1 mV. I am guessing the transition path you are talking about is jump from the signal of 1 phase to a signal of another phase. If the signals were 180 degrees out of phase the transition path would be through the real and imaginary origins. If you took the Fourier transform of your signal you would have high frequency content since a very rapid change in a time domain signal is normally caused by very high frequency component. If any part of the detector circuit acts as low pass filter than your signal shape might be changed since those high frequency components are attenuated. The detector might not be able to figure out what the signal should have been at that point. If you are sending data that is encoded in I(in phase) and Q(quadrature) signals then you know that the 2 signals are 90 or 270 degrees out of phase. If you make the Q signal start 45 degrees after the I signal(offset QPSK) then when you add the I and Q signals the amplitude jump would end up being 1 mV max instead of 2 mV max just because of the way the signals would line up. This reduces the problem of having super high frequency content for the time domain signal. I am guessing coincident QPSK is when you do not insert this delay to minimize the voltage jumps.

I think the thing that might be confusing you about the Nyquist zero ISI thing is the relationship of the time domain to the frequency domain. Lets say you wanted a signal to occupy the frequency band of 10 to 20 Hz. You would apply your filter to your signal to send and any frequency in your signal lower than 10 Hz and greater than 20 Hz would be completely eliminated in the ideal case. When you received your signal you would correspondingly only pay attention to frequencies in the 10 to 20 Hz range. If you take the inverse fourier transform of this frequency response, you get the Sinc function that you saw. You could use this time domain representation of the filter to design a FIR filter that would ideally eliminate all of the frequencies you didn't want. You would then not get any signals of other frequencies that happened to look like your signals from frequencies that you expected causing inter symbol interference.

Ok, I hope this helps. Most of my knowledge comes from wiki and random text books so I hope people will correct me where I am wrong.


Alan (w2aew) made some excellent videos on this:

They should help with the intuition part.


Not the answer you're looking for? Browse other questions tagged or ask your own question.