I am having some conceptual difficulty understanding how one an process data from a low IF recever. Currently I am using an #SDR which has a "zero IF" mode which has a minimum sampling rate of 2,000,000 sps. I take the IQ data and perform an FFT with 16384 bins, plot the data and find that there is a strong DC spike at the center frequency. Apparently, this is common in zero IF receivers.
This same SDR has a low IF mode that one can use and there would not be this DC spike. However, I do not understand how this would work. The specs show that there is the possibility of a low IF of 200kHz. Therefore the received signals would be mixed down to 200 KHz. The sampling rate however stays at 2,000,000 sps. So how does one do anything with this? WOuld this not yield a range of frequencies of -800kHz to 1.2 MHz? Or does one just discard everything below 0 Hz?
Hope I explained this well. The SDR I am using is the SDRPlay.
In the zero-IF receiver the analog signal is mixed to baseband and two converters sample the I and Q streams with the signal centered about DC. The difficulty with baseband conversion is that the mixer local oscillator (LO) tone lands at exactly DC, so any bleed-through of the LO through the mixer (which is difficult to prevent) becomes DC in the digital signal. Much or most or maybe all of the DC spike you see is due to the LO bleed-through.
In the low-IF system the signal is mixed to a low IF within the supported Nyquist region of the converted signal. The LO still bleeds through to DC, but the signal is digitized at the low-IF (say, the 200kHz in your example). The signal can then be mixed down to baseband digitally, and since there is no bleed-through of the digital mixer, the signal at baseband has no DC due to the bleed-through. The DC component due to the LO bleed-through is simultaneously mixed to -200kHz, so it stays out-of-band of the final desired signal at baseband.
If you look at an FFT of the low-IF signal, you should see the DC spike due to the LO bleed-through and the desired signal are 200kHz apart.
Hi Tomb18 and Slartibartfast,
Zero IF receiver provides IQ data or baseband signal (centered arround 0) and it is true there is often a 0Hz splike (DC spike).
This DC spike is also due to the DC polarisation of the components. If it is analog mixer then it is polarisation voltage and if it is direct conversion done with a fast ADC and digital down conversion, even if your mixing frequency is perfect (No DC), you will get DC spike at the end due to amplifier or ADC offset.
In my applications, the demodulator can deal with this DC spike.
DC spikes can also be simply due to the RF carrier level for AM signals or other types of signals with poor carrier suppression. An (AM) receiver with AGC tries to make the DC level constant to prevent saturation in subsequent stages (assuming modulation levels are fixed).
The Low IF signal is centered at 200KHz instead of ZIF that would be the difference. If you are using I/Q processing, then the following article is the best one to explain quadrature processing and spectrum by Richard Lyons.
Using I/Q architecture, the signal can be delivered in both Positive and Negative frequencies, such that half BW is required.
If you cannot see any signal centered at 200KHz instead of DC, then there could be issue with down conversion from 8MHz. So, verify the setting for down converter from 8MHz to Low IF/200KHz.
Hope that helps, if not, please provide spectrum plot to get more insight.
Good explanations for the zero vs low IF. But I still don't get the idea of the processing. The SDR I am using at zero IF has it's center frequency tuned to 8Mhz. I am looking at signals at 8 MHz. This works fine and the bandwidth is roughly 1.8 MHz at a 2msps sampling rate. When I just switch to 200 kHz IF mode I now see basically nothing except for a strong peak at in the middle. What would the center frequency now be tuned to to see the 8MHz signal? 200 kHz? What then happens to the bandwidth?
Thanks, I'm new to this!
Be aware, the DC offset is only one problem. There are usually gain/phase mismatches between I and Q that have to be accounted for. Fred Harris has a couple of papers on the subject. For GNU Radio, the UHD has utilities to measure and store the factors needed to correct DC/gain/phase at specific frequencies. SDRPlay may have something similar.
Not sure I can understand that if signal is centred on 8MHz then downconverted to 200KHz or to zero or anywhere the bleed through of carrier will always be there in the centre of signal.
In many applications now a Damn-Fast A/D converter is used, no tuner. Then the band of interest can be downconverted/filtered with no LO.
Price and power are high though unless you a doing an ASIC.
Perhaps the pdf file at:
may be of some use to you.
Looks excellent. Much thanks for this.
In any case I just found out the reason for not seeing anything on the spectrum in low IF mode.
It turns out that the SDR does not return IQ samples in low IF mode but rather sampled IF data. The SDR has a built in conversion routine that has to be called that will convert the sampled IF into I and Q samples and do the filtering and decimation for you.
Thanks to all for the help, it made me understand many things that I thought I knew but not well enough.