Hi all,
I’m trying to get started with Limesdr-mini using gnuradio, but I’m having trouble with the IQ imbalance. My setup is attached, its just a sine wave which is looped from the TX back to the RX and then plotted in the frequency domain. I used a 60-dB attenuator in the loop.
SCHEMATIC:
This is the result of running the flowgraph
LIMESDR-MINI:
Note that I recently updated the firmware using LimeUtil --update. If I change the source and sink to the osmocomm versions, the -1.25 MHz signal goes below the noise floor after about 5 seconds. I have also tested similar flowgraphs using the Adalm-Pluto and the USRP b200-mini and they both show “better” performance. The results of the Adalm-Pluto are shown below, and there is no noticable delay before calibration is good. Obviously the setup is slightly different but this is not the reason for the results. I have verified the Adalm-Pluto results using a proper spectrum analyzer.
ADALM-PLUTO:
So my questions are
- do I need to do something to calibrate the limesdr-mini? From what I’ve been reading, calibration is automatic.
- Is my test setup not a valid way of checking IQ calibration?
Any additional help is appreciated. thanks in advance!
Below is the output from the gnuradio console when using the LimeSuite source and sink.
CONSOLE OUTPUT:
Generating: '/home/doaaron/gnuradio/limeSDR/FFT001.py'
Executing: /usr/bin/python2 -u /home/doaaron/gnuradio/limeSDR/FFT001.py
Gtk-Message: 22:44:11.563: Failed to load module "canberra-gtk-module"
fft_impl_fftw: /home/doaaron/.gr_fftw_wisdom: Permission denied
---------------------------------------------------------------
LimeSuite Source (RX) info
##################
Connecting to device
##################
Devices found: 1
##################
Device list:
Nr.:|0|device:|LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D3ACA12114C61
##################
Device number 0 from the list is used.
Reference clock 40.00 MHz
##################
INFO: device_handler::set_chip_mode(): SISO mode set for device number 0.
INFO: device_handler::set_rf_freq(): RF frequency set [RX]: 2400 MHz.
INFO: device_handler::set_samp_rate(): set sampling rate: 5 MS/s.
INFO: device_handler::set_analog_filter(): RX LPF configured
Configured bandwidth: 5 MHz.
INFO: device_handler::set_digital_filter(): digital filter channel 0 set [RX]: disabled.
INFO: device_handler::set_antenna(): channel 0 antenna set [RX]: LNAH.
INFO: device_handler::set_gain(): set gain [RX]: 40 dB.
INFO: device_handler::calibrate(): Rx calibration finished
INFO: source_impl::init_stream(): source channel 0 (device nr. 0) stream setup done.
---------------------------------------------------------------
---------------------------------------------------------------
LimeSuite Sink (TX) info
##################
Connecting to device
Previously connected device number 0 from the list is used.
##################
INFO: device_handler::set_chip_mode(): SISO mode set for device number 0.
INFO: device_handler::set_rf_freq(): RF frequency set [TX]: 2400 MHz.
INFO: device_handler::set_samp_rate(): set sampling rate: 5 MS/s.
INFO: device_handler::set_analog_filter(): Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active
TX LPF configured
Configured bandwidth: 5 MHz.
INFO: device_handler::set_digital_filter(): digital filter channel 0 set [TX]: disabled.
INFO: device_handler::set_antenna(): channel 0 antenna set [TX]: BAND1.
INFO: device_handler::set_gain(): set gain [TX]: 50 dB.
INFO: device_handler::calibrate(): Tx Calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)
INFO: sink_impl::init_stream(): sink channel 0 (device nr. 0) stream setup done.
---------------------------------------------------------------