> Ah, yes. The ol' QAM modulator trick ! Sometimes I feel like I'm in a room > full of people speaking a language I don't understand ;) That's Ok though. > At least I'm pretty sure nobody's talking about me. The general idea of QAM modulation is that you can generate a signal that is both amplitude and phase modulated, by the use of only amplitude modulation of two carriers of the same frequency but 90 degrees out of phase. This is advantageous because it is much easier to generate two carriers with an exact 90 degree phase relationship than to directly perform arbitrary phase modulation of a single carrier. The two carriers used in the QAM process are called the I and Q carriers. Let's suppose that you want to produce an output signal with amplitude r and phase theta. You amplitude modulate the I carrier by a factor of r*cos(theta), and the Q carrier by a factor of r*sin(theta). For example, supposing that the desired amplitude (r) is one: Desired carrier phase I carrier Q carrier (degrees) amplitude amplitude ------------ ------------ --------- 0 1 0 30 (3^.5)/2 .5 45 (2^.5)/2 (2^.5)/2 60 .5 (3^.5)/2 90 0 1 135 (2^.5)/2 -(2^.5)/2 180 -1 0 270 0 -1 By the way, I'm not an expert on this, so I may have the I and Q carriers interchanged or may have made some other dumb errors in this exposition. So please don't take this as gospel. But I think I have the basic concept right. It's one of those "aha!" things. QAM is used for a lot of digital communications applications including radio, digital television and cable, satellite, and telephone modems (from about 2400 bps to 33.6 Kbps). Generally when QAM is used for digital communication, a specific set of amplitude and phase values are chosen. Represented in a cartesian graph with the I and Q amplitudes on the Y and X axes, the specific points for these values form the signal "constellation". Typically the number of constellation points is a power of two, although that is not required. The more points in the constellation, the more data bits can be communicated in a single "baud". However, using more constellation points also requires that the communication channel have a higher signal-to-noise ratio and lower phase distortion. The really cool part is that you can also demodulate by locally generating I and Q carriers in the demodulator and mixing those with the incoming QAM signal to separate it into I and Q components. At the demodulation end it is necessary to phase-lock the local I and Q carriers to the incoming signal, in case the modulator is not running at precisely the same frequency, or the communications channel introduces a frequency offset. In order to facilitate this process, the data is "scrambled" before it is transmitted, in order to ensure that the amplitudes of the I and Q carrier don't stay constant or near-constant for long periods. Scrambling involves exclusive oring the data with the output of an LFSR (linear feedback shift register). The same LFSR structure is used on the receiving end to descramble the data. Note that this "scrambling" is not done for security reasons; if you need data security you must encrypt the data at a higher level.