Digital over Analog
7 years ago
General
You might recall long ago I made reference to Quadrature Amplitude Modulation. I was talking about sending color vector information in NTSC broadcast signals and how a single wave could accomplish this, when decoded properly. Turns out that if you decide to decode it differently, a QAM signal can send along digital information and quite efficiently at times!
Think of the vector graph, with the origin in the middle. When a QAM signal comes in, it describes a rotation and a distance from that center point. Now what if instead of interpreting this as an analog signal, you interpreted it based on where the end point of the vector landed. Like... if it was on the left side, it was a zero and on the right side, it was a one. Suddenly you can use QAM to transmit digital information.
This half-and-half setup works, but it's terribly inefficient. What if instead you broke the graph into four quadrants and labeled them '00', '01', '10' and '11'? Now you're encoding two bits for every QAM vector you get. If you went further and divided it into a four-by-four grid, you can encode four bits at a time with 16 different landing zones. This is QAM-16. The Moseley microwave radios used in broadcast used QAM-16 to transmit data over the microwave link.
Chances are, you're using QAM-256 in one way or another. Digital cable uses it, both for your network connection and sending digital video to the set top box. And why wouldn't they? The whole cable infrastructure started out analog and still remains very much so... QAM was the obvious solution when going digital.
So why not QAM-4096? Wouldn't that be super-efficient, pushing 64 bits with each vector? Yes, it would (and yes. QAM-4096 exists... in theory). The problem now is signal noise and jitter. QAM is still analog and susceptible to interference, and this interference can alter exactly where the vector lands on the graph. This is where we get into what's called a "constellation plot". That particular plot is for a QAM-64 signal, with each landing zone marked out by the dashed lines and the ideal landing point marked by the red cross. Notice how most of the circles land in a particular zone, but almost none of them hit the ideal. As the QAM number gets higher, the landing zones get smaller. The higher the QAM, the more easily the signal is affected by noise. QAM-256 works great on a shielded cable system with very little outside interference. When pushing microwaves across miles where even the humidity can affect the signal, QAM-16 is much more forgiving.
Digital satellite also uses QAM for signal transmission. But when an error occurs with a one-way transmission medium, what do you do? Do you just eat the error and move on? Or is there a way you can send additional information with your data stream to help find and correct errors on the fly? Stay tuned...
When dealing with things like QAM, there becomes a very important difference between bitrate and symbol rate. The bitrate is what it says, bits per second. The symbol rate is how many QAM vectors can be sent by the transmission equipment (usually a radio of some sort). So let's say your radio can send a million different transmission states per second, 1Msym/s. If you're doing QAM-16, each symbol contains four bits, so you get 4Mbit/s. Same radio but you push it up to QAM-256, now you're getting 16Mbit/s out of the same radio. Bits per symbol times symbol rate equals total bitrate.
So how do the cable companies pump 400Mbit/s into your home? Just like you might bond Ethernet connections together to get a faster total speed, transmission channels are bonded together for a higher aggregate speed. 16 channel bonds are common now, with 24 and 32 channel bonding schemes available for the ultra high speed modems.
Think of the vector graph, with the origin in the middle. When a QAM signal comes in, it describes a rotation and a distance from that center point. Now what if instead of interpreting this as an analog signal, you interpreted it based on where the end point of the vector landed. Like... if it was on the left side, it was a zero and on the right side, it was a one. Suddenly you can use QAM to transmit digital information.
This half-and-half setup works, but it's terribly inefficient. What if instead you broke the graph into four quadrants and labeled them '00', '01', '10' and '11'? Now you're encoding two bits for every QAM vector you get. If you went further and divided it into a four-by-four grid, you can encode four bits at a time with 16 different landing zones. This is QAM-16. The Moseley microwave radios used in broadcast used QAM-16 to transmit data over the microwave link.
Chances are, you're using QAM-256 in one way or another. Digital cable uses it, both for your network connection and sending digital video to the set top box. And why wouldn't they? The whole cable infrastructure started out analog and still remains very much so... QAM was the obvious solution when going digital.
So why not QAM-4096? Wouldn't that be super-efficient, pushing 64 bits with each vector? Yes, it would (and yes. QAM-4096 exists... in theory). The problem now is signal noise and jitter. QAM is still analog and susceptible to interference, and this interference can alter exactly where the vector lands on the graph. This is where we get into what's called a "constellation plot". That particular plot is for a QAM-64 signal, with each landing zone marked out by the dashed lines and the ideal landing point marked by the red cross. Notice how most of the circles land in a particular zone, but almost none of them hit the ideal. As the QAM number gets higher, the landing zones get smaller. The higher the QAM, the more easily the signal is affected by noise. QAM-256 works great on a shielded cable system with very little outside interference. When pushing microwaves across miles where even the humidity can affect the signal, QAM-16 is much more forgiving.
Digital satellite also uses QAM for signal transmission. But when an error occurs with a one-way transmission medium, what do you do? Do you just eat the error and move on? Or is there a way you can send additional information with your data stream to help find and correct errors on the fly? Stay tuned...
When dealing with things like QAM, there becomes a very important difference between bitrate and symbol rate. The bitrate is what it says, bits per second. The symbol rate is how many QAM vectors can be sent by the transmission equipment (usually a radio of some sort). So let's say your radio can send a million different transmission states per second, 1Msym/s. If you're doing QAM-16, each symbol contains four bits, so you get 4Mbit/s. Same radio but you push it up to QAM-256, now you're getting 16Mbit/s out of the same radio. Bits per symbol times symbol rate equals total bitrate.
So how do the cable companies pump 400Mbit/s into your home? Just like you might bond Ethernet connections together to get a faster total speed, transmission channels are bonded together for a higher aggregate speed. 16 channel bonds are common now, with 24 and 32 channel bonding schemes available for the ultra high speed modems.
FA+

That's cool though... I wouldn't even know where to begin if I wanted to write a QAM decoder! ^_^