# How do you alter the phase relationship between I and Q in a quadrature signal?

I am collection a quadrature signal from a radio. The I and Q signals go through a sound card at a sample rate of 192000, and then a FFT is performed on the signals. Due to various reasons, the signals are shifted slightly from the 90 degree phase difference and need to be corrected at some point. How can one go about doing this? Thanks for your help. Tom

• As a quick pointer to potential help: the phenomenon you're talking about is called "I/Q imbalance." That term can relate to gain and/or phase differences between the two channels. – Jason R Jan 30 '14 at 16:21
• The cleanest way is to come in on one channel and do the I/Q conversion in software. But it takes more bandwidth. – John Jan 30 '14 at 17:17

As you already know, the quadrature error, also called quadrature skew, describes how far off the actual angle between I and Q is from the ideal 90 degrees. It is one component of modulation error ratio.

There seem to be lots of people talking about how to measure quadrature skew, but few people talking about how to compensate. The two major approaches to compensation seem to be:

• During initial factory tuning, some human watches an o'scope measuring the skew while manually tweaking the analog parts, or
• During normal operation, the receiver internally estimates the quadrature skew and compensates digitally.

Often hardware designers deliberately build "off-tuned recievers". With such hardware, when the transmitter repeatedly transmits "the same" constellation point, the raw I/Q point sampled by the reciever -- rather than staying close to a single fixed location in the I/Q diagram as with a perfectly tuned direct-conversion receiver -- instead rotates in a circle.

Such a receiver somehow estimates (typically in a FPGA or in software) how far the constellation has been rotated by that analog hardware, and corrects for it by rotating the I/Q sample in the opposite direction. It is possible to simultaneously estimate the phase skew between I and Q and correct for that at the same time. (In effect, if you know the skew is S and you measure raw x,q coordinate, you can deskew and find the true x,y in perfectly orthogonal coordinates with y = qc - xt, where c is some approximation of 1/cos(S) and t is some approximation of tan(S); often c = 1 and t=S (in radians) is adequate).