[USRP-users] uhd_cal_tx_iq_balance skips wide frequency range

Michael West michael.west at ettus.com
Tue Oct 21 19:51:10 EDT 2014


Hi Urban,

First, I honestly do not know why the value of 30 was hard coded.  I
believe the "initial_suppression" value should be used, which is the
measured value with no correction applied.

Regarding the IQ imbalance you are seeing, I have a few questions.  Is it
on TX or RX?  How are you measuring it?  What is your set up (are you
looping back or connected to a signal generator and/or spectrum
analyzer)?   What gain level(s) are you using?  Also, sharing the flowgraph
you are using would help.

Best regards,
Michael

On Tue, Oct 21, 2014 at 6:58 AM, Urban Hakansson <uhakansson at tecore.com>
wrote:

> Michael,
>
> Thanks for your reply.
>
> We changed the threshold to 15 and now we get calibration data written to
> file for each freq step.
>
> Q: What is the reason the threshold is set to 30?  Is there any reason I
> should not set it to 15 or any other value? Is there is a reason this
> parameter value is hard coded and is not something you can pass in as an
> argument?
>
> Regardless, the original problem I wanted to solve by calibrating in finer
> frequency steps still remains, namely, the residual IQ imbalance is too
> large in certain bands.
>
> I calibrated the entire N210+SBX frequency range from 400 to 4400 MHz in
> 200kHz steps, thinking that should do it.
>
> To check for any residual IQ imbalance I then generated a complex
> exponential with amplitude 0.1 and frequency f = 1.25 MHz, sampled at Fs =
> 6.25 MHz, and set tx gain to 0dB (using GnuRadio flowdiagram).
>
> I varied the center frequency fc (LO) in 100MHz steps from 700 MHz to 3000
> MHz, measured the power-ratio between fc+f and the undesired replica at
> fc-f which is due to residual IQ imbalance.
>
> fc (MHz)         P_(fc-f)/P_(fc+f) (dB)
> 700  -40
> 800  -23
> 900  -17
> 1000 -22
> 1100  -27
> 1200 -40
> 1300 -12
> 1400 -15
> 1500 -40
> 1600 -40
> 1700 -21
> 1800 -13
> 1900 -40
> 2000                to small to measure (-infinity)
> 2100 -12
> 2200 -14
> 2300  to small to measure (-infinity)
> ...  ...
> 3000 to small to measure (-infinity)
>
> I thought that by calibrating the residual IQ imbalance would result in a
> power ratio of at least < -40dB between the undesired replica at fc-f and
> the original signal at fc+f.
>
> Maybe my expectations are too high, or perhaps I have a bad SBX
> daughterboard?
>
> Q: What results should I realistically be able to expect using the N210 +
> SBX combination?
>
> Regards,
>
> Urban
>
> ------------------------------
> *From: *"Michael West" <michael.west at ettus.com>
> *To: *"Urban Hakansson" <uhakansson at tecore.com>
> *Cc: *"USRP-users at lists.ettus.com" <usrp-users at lists.ettus.com>
> *Sent: *Thursday, October 9, 2014 3:03:08 PM
> *Subject: *Re: [USRP-users] uhd_cal_tx_iq_balance skips wide frequency
> range
>
>
> Hi Urban,
>
> If I am understanding you correctly, you are saying that there is no
> calibration data for those frequencies in the resulting file.  That does
> not mean the frequencies are being skipped by the utility.  That only means
> that a suppression of over 30 dB could not be achieved for those
> frequencies, so no correction data was saved.  You can set a lower
> threshold for the minimum suppression by changing the value in the
> following line in each IQ calibration utility:
>
>         if (best_suppression > 30){ //most likely valid, keep result
>
> Best regards,
> Michael
>
> On Thu, Oct 9, 2014 at 8:57 AM, Urban Hakansson via USRP-users <
> usrp-users at lists.ettus.com> wrote:
>
>> Hi everybody,
>>
>> I am trying to calibrate my N210 SBX daughterboard using the three
>> calibration scripts uhd_cal_rx_iq_balance, uhd_cal_tx_iq_balance,and
>> uhd_cal_tx_dc_offset using different values for freq_start, freq_stop, and
>> freq_step.
>>
>> uhd_cal_tx_iq_balance utility that is not behaving as I expected.
>> (uhd_cal_rx_iq_balance and uhd_cal_tx_dc_offset give me no problems).
>>
>> If I run uhd_cal_tx_iq_balance with any other values besides the default
>> values it will skip approximately 300MHz of frequencies from 790 MHz to ~
>> 1100MHz.
>>
>> Here are a few of my attempts.
>>
>> uhd_cal_tx_iq_balance --freq_start 500000000
>> uhd_cal_tx_iq_balance --freq_start 600000000
>> uhd_cal_tx_iq_balance --freq_start 700000000
>> uhd_cal_tx_iq_balance --freq_start 785000000
>> uhd_cal_tx_iq_balance --verbose --freq_step 100000
>> uhd_cal_tx_iq_balance --verbose --freq_step 110000
>> uhd_cal_tx_iq_balance --verbose --freq_step 225000
>> uhd_cal_tx_iq_balance --verbose --freq_step 900000
>> uhd_cal_tx_iq_balance --verbose --freq_step 1000000
>> uhd_cal_tx_iq_balance --verbose --freq_step 1100000
>> uhd_cal_tx_iq_balance --verbose --freq_step 2000000
>> ...
>> uhd_cal_tx_iq_balance --verbose --freq_step 7300000
>>
>> uhd_cal_tx_iq_balance always stops just before 790MHz and just sits
>> there, but does not abort, and after a really long time continues at ~
>> 1100MHz and continues all the way to 4370MHz without any further gaps.
>>
>> I attach the calibration scripts I am using and the three csv files for
>> one example, uhd_cal_tx_iq_balance --verbose --freq_step 225000.
>>
>> General background information about my environment:
>> Fedora 17 Linux; GNU C++ version 4.7.0 20120507 (Red Hat 4.7.0-5);
>> Boost_104800; UHD_003.007.001-0-unknown
>>
>> N210 informationfrom uhd_usrp_probe:
>> | Device: USRP2 / N-Series Device
>> | _____________________________________________________
>> | /
>> | | Mboard: N210r4
>> | | hardware: 2577
>> | | mac-addr: 00:80:2f:0a:e6:15
>> | | ip-addr: 192.168.2.199
>> | | subnet: 255.255.255.255
>> | | gateway: 255.255.255.255
>> | | gpsdo: none
>> | | serial: F4A09C
>> | | FW Version: 12.4
>> | | FPGA Version: 10.1
>>
>> What could the cause of this behaviour be?  Are there only certain
>> combination of values that work? What do I need to do to make
>> uhd_tx_iq_balance not hang right before 790MHz?
>>
>> Thanks for you consideration.
>>
>> Regards,
>>
>> Urban Hakansson
>> Senior Software Engineer
>> Tecore Networks
>> Phone: +1 410 872 6315
>> Fax: +1 410 872 6010
>> Email: uhakansson at tecore.com
>>
>>
>> Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410
>> 872 6315 Fax: +1 410 872 6010 Email: uhakansson at tecore.com
>>
>> Urban Hakansson
>> Senior Software Engineer
>> Tecore Networks
>> Phone: +1 410 872 6315
>> Fax: +1 410 872 6010
>> Email: uhakansson at tecore.com
>>
>>
>>
>>
>>      This e-mail may contain privileged, confidential, copyrighted or other
>> legally protected information, and is intended exclusively for the intended
>> recipient.  If you are not the intended recipient (even if the e-mail
>> address above is yours), you may not review, store, use, copy, disclose or
>> retransmit it in any form.  If you are not the intended recipient or
>> otherwise have received this by mistake, please immediately notify the
>> sender by return e-mail (or sysadmin at tecore.com), then delete the
>> message in its entirety. Thank you.
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users at lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>
>>
>
>
>
> This e-mail may contain privileged, confidential, copyrighted or other
> legally protected information, and is intended exclusively for the intended
> recipient. If you are not the intended recipient (even if the e-mail
> address above is yours), you may not review, store, use, copy, disclose or
> retransmit it in any form. If you are not the intended recipient or
> otherwise have received this by mistake, please immediately notify the
> sender by return e-mail (or sysadmin at tecore.com), then delete the message
> in its entirety. Thank you.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141021/c499e841/attachment-0002.html>


More information about the USRP-users mailing list