Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHi 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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410 872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com), then delete the message in its entirety. Thank you.
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@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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410
872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com), then delete the message
in its entirety. Thank you.
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
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
----- Original Message -----
From: "Michael West" michael.west@ettus.com
To: "Urban Hakansson" uhakansson@tecore.com
Cc: "USRP-users@lists.ettus.com" usrp-users@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@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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410 872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com ), then delete the message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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@tecore.com), then delete the message in its entirety. Thank you.
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@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@ettus.com
*To: *"Urban Hakansson" uhakansson@tecore.com
*Cc: *"USRP-users@lists.ettus.com" usrp-users@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@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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410
872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com), then delete the
message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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@tecore.com), then delete the message
in its entirety. Thank you.
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) = rexp(j2pif*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) = rexp(j2pi(fc+f)t), and the undesired replica x'(t) = r'exp(j2pi*(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
2400 to small to measure (-infinity) -24
2500 to small to measure (-infinity) -27
2600 to small to measure (-infinity) -29
2700 to small to measure (-infinity) -35
2800 to small to measure (-infinity) to small to measure (-infinity)
2900 to small to measure (-infinity) to small to measure (-infinity)
3000 to 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
----- Original Message -----
From: "Michael West" michael.west@ettus.com
To: "Urban Hakansson" uhakansson@tecore.com
Cc: "USRP-users@lists.ettus.com" usrp-users@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@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@ettus.com >
To: "Urban Hakansson" < uhakansson@tecore.com >
Cc: " USRP-users@lists.ettus.com " < usrp-users@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@lists.ettus.com > wrote:
<blockquote> 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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410 872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com ), then delete the message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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@tecore.com ), then delete the message in its entirety. Thank you.
</blockquote> 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@tecore.com), then delete the message in its entirety. Thank you.
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@ettus.com and they will help you further.
Best regards,
Michael
On Wed, Oct 22, 2014 at 8:37 AM, Urban Hakansson uhakansson@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) = rexp(j2pif*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) = rexp(j2pi(fc+f)t),
and the undesired replica x'(t) = r'exp(j2pi*(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
2400 to small to measure (-infinity) -24
2500 to small to measure (-infinity) -27
2600 to small to measure (-infinity) -29
2700 to small to measure (-infinity) -35
2800 to small to measure (-infinity) to small to measure (-infinity)
2900 to small to measure (-infinity) to small to measure (-infinity)
3000 to 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.
*From: *"Michael West" michael.west@ettus.com
*To: *"Urban Hakansson" uhakansson@tecore.com
*Cc: *"USRP-users@lists.ettus.com" usrp-users@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@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@ettus.com
*To: *"Urban Hakansson" uhakansson@tecore.com
*Cc: *"USRP-users@lists.ettus.com" usrp-users@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@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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410
872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com), then
delete the message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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@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@tecore.com), then delete the message
in its entirety. Thank you.
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
----- Original Message -----
From: "Michael West" michael.west@ettus.com
To: "Urban Hakansson" uhakansson@tecore.com
Cc: "USRP-users@lists.ettus.com" usrp-users@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@ettus.com and they will help you further.
Best regards,
Michael
On Wed, Oct 22, 2014 at 8:37 AM, Urban Hakansson < uhakansson@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) = rexp(j2pif*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) = rexp(j2pi(fc+f)t), and the undesired replica x'(t) = r'exp(j2pi*(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
2400 to small to measure (-infinity) -24
2500 to small to measure (-infinity) -27
2600 to small to measure (-infinity) -29
2700 to small to measure (-infinity) -35
2800 to small to measure (-infinity) to small to measure (-infinity)
2900 to small to measure (-infinity) to small to measure (-infinity)
3000 to 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@ettus.com >
To: "Urban Hakansson" < uhakansson@tecore.com >
Cc: " USRP-users@lists.ettus.com " < usrp-users@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@tecore.com > wrote:
<blockquote>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@ettus.com >
To: "Urban Hakansson" < uhakansson@tecore.com >
Cc: " USRP-users@lists.ettus.com " < usrp-users@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@lists.ettus.com > wrote:
<blockquote> 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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410 872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com ), then delete the message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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@tecore.com ), then delete the message in its entirety. Thank you.
</blockquote>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@tecore.com ), then delete the message in its entirety. Thank you.
</blockquote> 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@tecore.com), then delete the message in its entirety. Thank you.
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@ettus.com
*To: *"Urban Hakansson" uhakansson@tecore.com
*Cc: *"USRP-users@lists.ettus.com" usrp-users@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@ettus.com
mailto:support@ettus.com and they will help you further.
Best regards,
Michael
On Wed, Oct 22, 2014 at 8:37 AM, Urban Hakansson
<uhakansson@tecore.com mailto:uhakansson@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@ettus.com
<mailto:michael.west@ettus.com>>
*To: *"Urban Hakansson" <uhakansson@tecore.com
<mailto:uhakansson@tecore.com>>
*Cc: *"USRP-users@lists.ettus.com
<mailto:USRP-users@lists.ettus.com>" <usrp-users@lists.ettus.com
<mailto:usrp-users@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@tecore.com <mailto:uhakansson@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@ettus.com
<mailto:michael.west@ettus.com>>
*To: *"Urban Hakansson" <uhakansson@tecore.com
<mailto:uhakansson@tecore.com>>
*Cc: *"USRP-users@lists.ettus.com
<mailto:USRP-users@lists.ettus.com>"
<usrp-users@lists.ettus.com <mailto:usrp-users@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@lists.ettus.com
<mailto:usrp-users@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@tecore.com <mailto:uhakansson@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@tecore.com <mailto:uhakansson@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@tecore.com <mailto:uhakansson@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@tecore.com
<mailto:sysadmin@tecore.com>), then delete the message in
its entirety. Thank you.
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com <mailto:USRP-users@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@tecore.com <mailto:sysadmin@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@tecore.com <mailto:sysadmin@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@tecore.com), then delete the message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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
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?
----- Original Message -----
From: "Marcus D. Leech via USRP-users" usrp-users@lists.ettus.com
To: usrp-users@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.
<blockquote>----- Original Message -----
From: "Michael West" michael.west@ettus.com
To: "Urban Hakansson" uhakansson@tecore.com
Cc: "USRP-users@lists.ettus.com" usrp-users@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@ettus.com and they will help you further.
Best regards,
Michael
On Wed, Oct 22, 2014 at 8:37 AM, Urban Hakansson < uhakansson@tecore.com > wrote:
<blockquote>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) = rexp(j2pif*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) = rexp(j2pi(fc+f)t), and the undesired replica x'(t) = r'exp(j2pi*(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
2400 to small to measure (-infinity) -24
2500 to small to measure (-infinity) -27
2600 to small to measure (-infinity) -29
2700 to small to measure (-infinity) -35
2800 to small to measure (-infinity) to small to measure (-infinity)
2900 to small to measure (-infinity) to small to measure (-infinity)
3000 to 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@ettus.com >
To: "Urban Hakansson" < uhakansson@tecore.com >
Cc: " USRP-users@lists.ettus.com " < usrp-users@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@tecore.com > wrote:
<blockquote>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@ettus.com >
To: "Urban Hakansson" < uhakansson@tecore.com >
Cc: " USRP-users@lists.ettus.com " < usrp-users@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@lists.ettus.com > wrote:
<blockquote> 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@tecore.com
Urban Hakansson Senior Software Engineer Tecore Networks Phone: +1 410 872 6315 Fax: +1 410 872 6010 Email: uhakansson@tecore.com
Urban Hakansson
Senior Software Engineer
Tecore Networks
Phone: +1 410 872 6315
Fax: +1 410 872 6010
Email: uhakansson@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@tecore.com ), then delete the message in its entirety. Thank you.
USRP-users mailing list
USRP-users@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@tecore.com ), then delete the message in its entirety. Thank you.
</blockquote>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@tecore.com ), then delete the message in its entirety. Thank you.
</blockquote>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@tecore.com ), then delete the message in its entirety. Thank you.
USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
</blockquote>--
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium http://www.sbrac.org
USRP-users mailing list
USRP-users@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@tecore.com), then delete the message in its entirety. Thank you.
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@lists.ettus.com
*To: *usrp-users@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@ettus.com>
*To: *"Urban Hakansson" <uhakansson@tecore.com>
*Cc: *"USRP-users@lists.ettus.com" <usrp-users@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@ettus.com <mailto:support@ettus.com> and they will
help you further.
Best regards,
Michael
On Wed, Oct 22, 2014 at 8:37 AM, Urban Hakansson
<uhakansson@tecore.com <mailto:uhakansson@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@ettus.com
<mailto:michael.west@ettus.com>>
*To: *"Urban Hakansson" <uhakansson@tecore.com
<mailto:uhakansson@tecore.com>>
*Cc: *"USRP-users@lists.ettus.com
<mailto:USRP-users@lists.ettus.com>"
<usrp-users@lists.ettus.com <mailto:usrp-users@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@tecore.com <mailto:uhakansson@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@ettus.com
<mailto:michael.west@ettus.com>>
*To: *"Urban Hakansson" <uhakansson@tecore.com
<mailto:uhakansson@tecore.com>>
*Cc: *"USRP-users@lists.ettus.com
<mailto:USRP-users@lists.ettus.com>"
<usrp-users@lists.ettus.com
<mailto:usrp-users@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@lists.ettus.com
<mailto:usrp-users@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@tecore.com
<mailto:uhakansson@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@tecore.com <mailto:uhakansson@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@tecore.com
<mailto:uhakansson@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@tecore.com
<mailto:sysadmin@tecore.com>), then delete the message
in its entirety. Thank you.
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
<mailto:USRP-users@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@tecore.com
<mailto:sysadmin@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@tecore.com <mailto:sysadmin@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@tecore.com), then delete the message in its entirety.
Thank you.
_______________________________________________
USRP-users mailing list
USRP-users@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@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@tecore.com), then delete the message in its entirety. Thank you.
--
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org