[USRP-users] uhd_cal_tx_iq_balance skips wide frequency range

Marcus D. Leech mleech at ripnet.com
Thu Oct 23 14:00:12 EDT 2014


On 10/23/2014 01:56 PM, Urban Hakansson wrote:
> I just read  
> http://www.analog.com/static/imported-files/application_notes/AN-1100.pdf 
> and from what I understand I/Q DAC gain/phase mismatch can also 
> contribute to the undesired sideband I am observing. So it may not be 
> it is the SBX daughter-board (the IQ modulator in particular) that 
> alone creates the undesired sideband, it could be that the N210 
> motherboard have a mismatched pair of DACs. Is that correct or am I 
> completely missing something?
The DAC that is used is a dual synchronized DAC.  I wouldn't expect 
significant phase errors, but there could be very-small amplitude errors.

But the calibration should null all components that are contributing, 
regardless of their source.


>
> ------------------------------------------------------------------------
> *From: *"Marcus D. Leech via USRP-users" <usrp-users at lists.ettus.com>
> *To: *usrp-users at lists.ettus.com
> *Sent: *Thursday, October 23, 2014 10:42:51 AM
> *Subject: *Re: [USRP-users] uhd_cal_tx_iq_balance skips wide frequency 
> range
>
> 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
>
> _______________________________________________
> 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.


-- 
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/4079699f/attachment-0002.html>


More information about the USRP-users mailing list