Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Q and I seem to come up a lot in discussions of digital communications, such as the comprehensive answer provided to this question:

FFT window phase syncronising

It seems like the Q and I channels ultimately are combined into a sin wave of a given frequency, phase and amplitude. If the communications system is all software (for example in a software-defined radio) is it necessary to worry about "Q" and "I"? Is this just an artifact of when receivers and transmitters were electronics based?

To make the question more concrete, the link provided talks about putting the even bits onto Q and the odd bits onto I. If this is the same thing as creating a sin wave of phase 0, 90, 180, or 270, then why bother with this seemingly unnecessary notation? Perhaps the pulse shaping (like an RRC filter) needs to be independently applied to the Q and I channels?

share|improve this question
Consider looking at this question and this one and then thinking about why the unnecessary notation might be needed at least when analyzing the performance instead of just writing a few lines of Java code or whatever in your software radio. – Dilip Sarwate Jan 30 '13 at 15:35
Look into QAM, how data is encoded into a "constellation" and then detected as an expected point in a"constellation". The constellation is a 2D map of amplitude and phase that is most understandable if you decompose your signal into I and Q components. The I and Q components form a vector that maps to a symbol in the constellation. – user2718 Jan 30 '13 at 16:12
@Dilip: I did a lot of reading (including those questions) before asking. I understand that using complex numbers greatly simplify analysis. I've edited the question slightly -- I'd like to know if practically (when writing code) for QPSK you need to deal with the separate channels. Incidentally, I've found your many posts very valuable -- thank you. – Dan Sandberg Jan 30 '13 at 18:06
@DanSandberg: The answer is yes. I and Q typically map to the real and imaginary components in a complex signal model. QPSK is a two-dimensional modulation scheme, so you definitely need both components. – Jason R Jan 30 '13 at 18:16

A point in 2D space can be represented by either X and Y coordinates, or a distance and angle (relative to some reference point and axis). However, the point measurement errors or noise is some common real systems is more likely to be uniform in the the units of an X,Y coordinate system, which may make error analysis and numerical error control in this space more tractable, thus lowering the computational requirement for most types of processing, even in purely digital systems.

share|improve this answer

The I-Q components are orthogonal. Hence, a different signal can be transmitted in each component. If you don't use both components (I-Q) to generate your signal, you actually generate the envelope of the modulated signal, which usually seems harder.

enter image description here

In order to get the analytic signal (complex) from the envelope (real), you can apply the Hilbert transform. You can see this transformation in the spectrum. The complex signal has non-symmetric spectrum, while the real signal has a symmetric spectrum with half amplitude respect to the complex one.

$$s_+(t)=s(t)+j \cdot \hat{s}(t) \; \; with \; \; \hat{s}(t)=\frac{s(t)}{\pi t}$$

However, I suggest that you generate both I-Q components. You don't need to actually create a complex variable, you can store it as a bi-variate variable, i.e. Nx2 matrix.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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