[USRP-users] uhd_cal_tx_iq_balance skips wide frequency range

Marcus D. Leech mleech at ripnet.com
Thu Oct 23 10:42:51 EDT 2014


On 10/23/2014 10:31 AM, Urban Hakansson via USRP-users wrote:
> Hi Michael,
>
> Thanks for running the test on your N210+SBX setup.
>
> Nothing was connected to the N210 when I did the calibration.
>
> mleech sent me a link to the mixer that is used on the SBX 
> daughter-board, 
> http://www.analog.com/static/imported-files/data_sheets/ADL5375.pdf
>
> Based on my understanding of the data sheet we should both expect 
> better performance than ~ 20dB suppression from the SBX daughter-board 
> for all bands.
>
> Considering your test results, My SBX is certainly much worse than 
> yours, so to conclude, it is likely I have a bad SBX daughter board, 
> but you may have one too.
>
> Regards,
>
> Urban
There's a handy chart on page 5 of:

http://www.analog.com/static/imported-files/application_notes/AN-1039.pdf

Showing image-suppression characteristics for various phase/amplitude errors

The whole field of I/Q imbalance estimation (and the corrections that 
proceed from those estimates)  is one in which there isn't wide, solid, 
agreement
   on the approach, and the approaches vary depending on application.

I do wonder whether sometimes the estimates are thrown-off by LO spurs 
causing false responses that are unrelated to quadrature balance.


> ------------------------------------------------------------------------
> *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: *Wednesday, October 22, 2014 10:51:27 PM
> *Subject: *Re: [USRP-users] uhd_cal_tx_iq_balance skips wide frequency 
> range
>
> Hi Urban,
>
> Thanks for the information and the flow graph.  I grabbed an N210+SBX 
> and a spectrum analyzer to reproduce your test.  After running the 
> calibration, I observed the following on my set up:
>
> c(MHz)P_(fc-f)/P_(fc+f)(dB)
> 700-22
> 800-32
> 900-22
> 1000 -27
> 1100 -34
> 1200 -23
> 1300 -29
> 1400 -23
> 1500 -26
> 1600 -27
> 1700 -32
> 1800 -47
> 1900 -47
> 2000 -47
> 2100 -46
> 2200 -45
> 2300 -45
> 2400 -44
> 2500 -43
> 2600 -43
> 2700 -43
> 2800 -42
> 2900 -42
> 3000 -42
>
> The bottom line is that it looks as to the -40 dB or better across all 
> bands is not realistic for an N210+SBX set up.  But it does look like 
> your particular SBX is a bit worse off than the one I tested.  I was 
> able to get at least -22 dB across the same range.  The anomalies you 
> are seeing at 2100 and 2200 MHz are particularly strange.  Just to be 
> clear, the calibration should be done with nothing connected to the 
> SBX.  If something was connected, you should run calibration again.  
> If you believe the board to be bad, contact support at ettus.com 
> <mailto:support at ettus.com> and they will help you further.
>
> Best regards,
> Michael
>
> On Wed, Oct 22, 2014 at 8:37 AM, Urban Hakansson 
> <uhakansson at tecore.com <mailto:uhakansson at tecore.com>> wrote:
>
>     Micahel,
>
>     Do you mean the if condition in for example uhd_cal_tx_iq_balance
>     should be if  ( best_suppression > initial_suppression ) ?
>
>     To answer your questions. I am now focusing on calibrating the TX
>     path.
>
>     I generate x(t) = r*exp(j*2*pi*f*t) using a very simple Gnuradio
>     flowgraph that I attach.   As you can see in the flowgraph, I set
>     r = 0.1 and f = 1.25MHz.  I set the sample rate to 6.25 MHz
>     (100MHz/(2^4)) to make it as easy for the FPGA filters as possible
>     when interpolating, and the analog tx gain to 0 dB.  Given the
>     amplitude and tx gain settings I should be operating well within
>     the linear range of the amplifier.
>
>     I sweep the center frequency fc from 700 MHz to 3GHz in 100MHz steps.
>
>     I measure the IQ imbalance by connecting my N210 TX/RX port to a
>     Rohde Schwarz FSP Spectrum Analyzer with 50 Ohm input load using a
>     low loss Coaxial Cable (LMR-400 3/8").
>
>     I measure the power of the desired signal x(t) =
>     r*exp(j*2*pi*(fc+f)*t), and the undesired replica x'(t) =
>     r'*exp(j*2*pi*(fc-f)*t), putting a spectrum analyzer marker on
>     each peak, and see what the delta is.
>
>     I tried running free without calibration script and the result was
>     worse.
>
>     with 200kHz calibration script without calibration scripts
>     c (MHz)     P_(fc-f)/P_(fc+f) (dB)P_(fc-f)/P_(fc+f) (dB)
>     700-40-18
>     800-23-14
>     900-17-11
>     1000-22-13
>     1100-27-15
>     1200-40-20
>     1300-12-16
>     1400-15-23
>     1500-40-18
>     1600-40-14
>     1700-21-11
>     1800-13-11
>     1900-40-20
>     2000               to small to measure (-infinity)-23
>     2100-12 -15
>     2200-14-19
>     2300 to small to measure (-infinity)-21
>     2400to small to measure (-infinity)-24
>     2500to small to measure (-infinity)-27
>     2600to small to measure (-infinity)-29
>     2700to small to measure (-infinity)-35
>     2800to small to measure (-infinity)to small to measure (-infinity)
>     2900to small to measure (-infinity)to small to measure (-infinity)
>     3000to small to measure (-infinity)-33
>
>     So calibrating did improve the IQ balance but not enough it seems.
>     I expected the suppression to be at least 40dB.
>
>     I attach the tx calibration scripts for 200kHz step size, when
>     using if (best_suppression > 15) as the criterion.
>
>     Urban
>     ------------------------------------------------------------------------
>     *From: *"Michael West" <michael.west at ettus.com
>     <mailto:michael.west at ettus.com>>
>     *To: *"Urban Hakansson" <uhakansson at tecore.com
>     <mailto:uhakansson at tecore.com>>
>     *Cc: *"USRP-users at lists.ettus.com
>     <mailto:USRP-users at lists.ettus.com>" <usrp-users at lists.ettus.com
>     <mailto:usrp-users at lists.ettus.com>>
>     *Sent: *Tuesday, October 21, 2014 7:51:10 PM
>
>     *Subject: *Re: [USRP-users] uhd_cal_tx_iq_balance skips wide
>     frequency range
>
>     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 <mailto: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)
>         ......
>         3000to 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
>         <mailto:michael.west at ettus.com>>
>         *To: *"Urban Hakansson" <uhakansson at tecore.com
>         <mailto:uhakansson at tecore.com>>
>         *Cc: *"USRP-users at lists.ettus.com
>         <mailto:USRP-users at lists.ettus.com>"
>         <usrp-users at lists.ettus.com <mailto: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
>         <mailto: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 <tel:%2B1%20410%20872%206315>
>             Fax: +1 410 872 6010 <tel:%2B1%20410%20872%206010>
>             Email: uhakansson at tecore.com <mailto:uhakansson at tecore.com>
>
>
>             Urban Hakansson Senior Software Engineer Tecore Networks
>             Phone: +1 410 872 6315 <tel:%2B1%20410%20872%206315> Fax:
>             +1 410 872 6010 <tel:%2B1%20410%20872%206010> Email:
>             uhakansson at tecore.com <mailto:uhakansson at tecore.com>
>
>             Urban Hakansson
>             Senior Software Engineer
>             Tecore Networks
>             Phone: +1 410 872 6315 <tel:%2B1%20410%20872%206315>
>             Fax: +1 410 872 6010 <tel:%2B1%20410%20872%206010>
>             Email: uhakansson at tecore.com <mailto: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
>             <mailto:sysadmin at tecore.com>), then delete the message in
>             its entirety. Thank you.
>             _______________________________________________
>             USRP-users mailing list
>             USRP-users at lists.ettus.com <mailto: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 <mailto:sysadmin at tecore.com>), then delete
>         the message in its entirety. Thank you.
>
>
>
>
>     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 <mailto:sysadmin at tecore.com>), then delete the
>     message in its entirety. Thank you.
>
>
>
>
> 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


-- 
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141023/b241a56b/attachment-0002.html>


More information about the USRP-users mailing list