4 ms·
Exactly. I wrote this explanation, but you beat me to it, so I'll just post it here: The real reason we use I/Q sampling is because we want to frequency-shift
by awelkie 6y ago
Exactly. I wrote this explanation, but you beat me to it, so I'll just post it here:
The real reason we use I/Q sampling is because we want to frequency-shift a signal.
Why do we want to frequency-shift a signal? In radio frequency applications the signal of interest almost always has a much lower bandwidth than its highest frequency. In other words, the signal has a small bandwidth (say 40 MHz) centered around a high center-frequency (say 2.4 GHz). If we want to digitize the signal, then one way would be to use a very high sample-rate ADC (e.g. a 2.4 GHz ADC). But these are very expensive, and a much better way of digitizing the signal is to use a mixer (a frequency shifter) to shift the signal to be centered around 0 Hz and then use a relatively low sample-rate ADC (e.g. a 40 MHz ADC).
The way frequency shifting is done is by multipling the signal by a sine signal, which can be done in hardware. But this introduces a distortion to the signal because multiplying by a sine is not actually a frequency shift. It just so happens that this distortion is cancelled out by adding another copy of the signal multiplied with another sine delayed by 90°. But this addition needs to be complex (due to the relationship between sine functions and true frequency shifts), so what we do is sample the two distorted signals and do this complex addition with the digitial signals.
So the reason we have complex samples is because that's the best way we've found to do frequency shifting using real-only sine waves (this explains why we don't use complex numbers in audio signal processing; there's no need to do frequency shifting!). This tutorial goes into the details and is the best explanation I've seen on quadrature sampling (another term for I/Q sampling): https://www.dsprelated.com/showarticle/192.php https://www.dsprelated.com/showarticle/192.php
I think engineers (myself included) tend to get confused because using complex numbers makes the math simpler, and so they think that's the real reason we use them. All the talk about ambiguous frequencies or negative frequencies or needing to know the phase of a sample is true, but all of those problems could be solved without complex numbers simply by sampling twice as fast and then doing some math (again, audio DSP does just fine without quadrature sampling), so it's not a "real" reason to do this strange kind of sampling.
- marcan_42 6y agoThe reason why audio processing (not sampling) does fine without I/Q data is because our ears are almost completely insensitive to the phase relationships between different frequency components, and because additive frequency shifts are not musically useful. That is what is very hard to deal with without representing signals as I/Q. The audio world just doesn't care. Radio does. This is why most textbook audio equalizers (including those used in professional DAWs) have nonlinear phase by default (minimum-phase) unless you opt for a FIR or FFT based mode. That would never fly in radio.
- galangalalgol 6y agoAudio processing isn't shifted downto baseband or shifted at all, so there is no need for IQ. Its all real. If instead of a direct mix down to baseband, you tell the sdr to mix the minimum frequency in the signal you care about down to just above zero, you can work without i and q. For instance, if you mix an am radio freq down to audio frequency, its all real and you can hear it and represent it as an array of real values. Edit, this is how the Airspy sdr works, to avoid iq imbalance like you get in the direct conversion receivers in most sdrs. Second edit for terminology. Mixing is multiplying by a frquency to shift frequency. Baseband means you shifted the center of the frquencies you care about to zero, so half of the frequency content is negative. Negative frequencies are what drive that mean imaginary number into the whole thing.
- marcan_42 6y agoYou're making the mistake of assuming that the only purpose of IQ data is to represent negative frequencies after downconversion. This is not true. The IQ representation is extremely useful for certain kinds of processing, even if you're working in baseband. There are plenty of reasons to take a real baseband signal, run it through a Hilbert transform to get a Q, and process it as IQ data. It just so happens that audio DSP algorithms happen to almost never care about those exact kinds of processing, due to the way our ears and brains work. And thus, IQ data is not used in audio. But it's not because it's baseband. It's because our ears don't care about phase relationships (which is one thing you can more easily preserve in the IQ domain) and because frequency shifts like downconversion are not useful in music since they destroy the harmonic relationships in the sound.
- galangalalgol 6y agoI wouldn't have used the term real and baseband together, but I think I understand what you mean. I've been frustrated when people describe a modulation real when they could have deacrbed it more elegantly complex. With modern floating point registers being so large the phase loss is less important, but sometimes the representation just makes more sense symmetrical around zero (DC). Could you explain what you mean by harmonic relationships in sound? Does that imply AM will destroy some quality of the music even if you used a 22khz wide band?
- cycomanic 6y ago> Exactly. I wrote this explanation, but you beat me to it, so I'll just post it here: > The real reason we use I/Q sampling is because we want to frequency-shift a signal. > Why do we want to frequency-shift a signal? In radio frequency applications the signal of interest almost always has a much lower bandwidth than its highest frequency. In other words, the signal has a small bandwidth (say 40 MHz) centered around a high center-frequency (say 2.4 GHz). If we want to digitize the signal, then one way would be to use a very high sample-rate ADC (e.g. a 2.4 GHz ADC). But these are very expensive, and a much better way of digitizing the signal is to use a mixer (a frequency shifter) to shift the signal to be centered around 0 Hz and then use a relatively low sample-rate ADC (e.g. a 40 MHz ADC). > The way frequency shifting is done is by multipling the signal by a sine signal, which can be done in hardware. But this introduces a distortion to the signal because multiplying by a sine is not actually a frequency shift. It just so happens that this distortion is cancelled out by adding another copy of the signal multiplied with another sine delayed by 90°. But this addition needs to be complex (due to the relationship between sine functions and true frequency shifts), so what we do is sample the two distorted signals and do this complex addition with the digitial signals. I'm not sure I understand you correctly, but I would not say you distort the signal when you multiply with a sine wave. Essentially you create to frequency components the sum and difference frequencies (f1+f2, f1-f2), now if f1 is your modulated signal (so some f1+fmod, where fmod is a band and can be positive and negative) and you want to convert to baseband you would select f2 so that it's at the carrier (f1=f2) then you generate a baseband signal at 0 carrier frequency and a signal at 2xf1 which is usually outside your detector bandwidth so not detected. However this process only gives you half of the frequencies of your fmod, to get the other half you need to multiply with cosine(f2) which essentially gives you the component that was at 2xf1 now at baseband. So to handle that more elegantly in math you add the two components up as real and imaginary components, essentially that enables you to drop the cos/sin(f1) terms from your equations.
- kurthr 6y agoI'd add that the other reason for using I/Q in heterodyned demodulation is for SSB (Single Side Band) to reduce out of band interferers. Otherwise both Fmix +/- Ffilt will get through. Usually, transmitters are also SSB to reduce power (unless they are baseband direct modulation).