TT
Tommy Tsui
Thu, Jun 5, 2025 10:39 PM
Hi,
I have some open questions about tx_offset and rx_offset parameter usage for the UHD calibration utility uhd_cal_rx_iq_balance, uhd_cal_tx_iq_balance, and uhd_cal_tx_dc_offset.
The cal util -help output indicates tx_offset is the TX LO offset from the RL LO in Hz. Likewise, for the rx_offset. If the usrp app uses a direct frequency conversion and no LO is involved, then tx_offset is zero. One strange thing is that when the parameter is not specified, the cal util will use a default value 934400 internally. I don't know where this constant came from. Does it mean for direct frequency conversion, I should specify tx_offset of 0 (to override the default 934400) when performing a calibration?
My application runs on X310 with 2 UBX-40 installed for duplex operation. It does specify a Rx LO on the receive and a Tx LO on the transmit, but the difference between the Tx LO and Rx LO is 40MHz, which exceeds the tx_offset/rx_offset max limit of 20MHz. Therefore, my only option is to run the calibration without tx_offset and rx_offset specified, but I wonder how the calibration result would impact my application performance.
I appreciate it if anyone can share his/her experience on the UHD cal utility rx_offset & tx_offset usage.
Thanks,
Tom
The information contained in this e-mail and any attachments from W5 Technologies, Inc. may contain confidential and/or proprietary information, and is intended only for the named recipient to whom it was originally addressed. If you are not the intended recipient, any disclosure, distribution, or copying of this e-mail or its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by return e-mail and permanently delete the e-mail and any attachments.
Hi,
I have some open questions about tx_offset and rx_offset parameter usage for the UHD calibration utility uhd_cal_rx_iq_balance, uhd_cal_tx_iq_balance, and uhd_cal_tx_dc_offset.
The cal util -help output indicates tx_offset is the TX LO offset from the RL LO in Hz. Likewise, for the rx_offset. If the usrp app uses a direct frequency conversion and no LO is involved, then tx_offset is zero. One strange thing is that when the parameter is not specified, the cal util will use a default value 934400 internally. I don't know where this constant came from. Does it mean for direct frequency conversion, I should specify tx_offset of 0 (to override the default 934400) when performing a calibration?
My application runs on X310 with 2 UBX-40 installed for duplex operation. It does specify a Rx LO on the receive and a Tx LO on the transmit, but the difference between the Tx LO and Rx LO is 40MHz, which exceeds the tx_offset/rx_offset max limit of 20MHz. Therefore, my only option is to run the calibration without tx_offset and rx_offset specified, but I wonder how the calibration result would impact my application performance.
I appreciate it if anyone can share his/her experience on the UHD cal utility rx_offset & tx_offset usage.
Thanks,
Tom
________________________________
The information contained in this e-mail and any attachments from W5 Technologies, Inc. may contain confidential and/or proprietary information, and is intended only for the named recipient to whom it was originally addressed. If you are not the intended recipient, any disclosure, distribution, or copying of this e-mail or its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by return e-mail and permanently delete the e-mail and any attachments.
MB
Martin Braun
Fri, Jun 6, 2025 9:26 AM
Tommy,
I'm either misunderstanding your email, or you're misunderstanding the
purpose of the tool, or maybe both.
Some facts:
- If you're unclear about the arguments, just use the default values,
they're probably fine.
- These tools are only suitable for direct-conversion (i.e., zero-IF)
daughterboards and don't work elsewhere. Maybe by "direct frequency
conversion" you mean something else (like the Basic boards?) but as I said,
you can't calibrate those with these tools.
- The duplex-ness of your application is not relevant here, the
uhd_cal_rx_iq_balance will calibrate RX IQ imbalance, the
uhd_cal_tx_iq_balance will calibrate TX IQ imbalance, and so on.
- The way these tools work is that we capture our own signal with our own
device, in a loopback mode, so you need to "listen" somewhere for the
signal. The Tx cal tools will have an rx_offset parameter to tell the tool
where to listen to the signal output. If we set that to zero, then the RX
LO could interfere with the TX LO, and that would affect our calibration.
- I'm not entirely sure about the exact provenance of the default value,
but it is a) small enough to work for all devices and rates, and b) is not
a multiple of anything, so it's less likely that the RX can interfere with
the TX.
The problem with the calibration is that it is single-point (i.e., not
frequency-selective). However, if you want to optimize the point where we
calibrate, the tx_wave_freq
parameter is the one you want to tune, and
not the rx_offset
.
I recommend you run the tools with the default values, based on your
description.
--M
On Fri, Jun 6, 2025 at 12:40 AM Tommy Tsui tommytsui@w5tech.com wrote:
Hi,
I have some open questions about tx_offset and rx_offset parameter usage
for the UHD calibration utility uhd_cal_rx_iq_balance,
uhd_cal_tx_iq_balance, and uhd_cal_tx_dc_offset.
The cal util –help output indicates tx_offset is the TX LO offset from the
RL LO in Hz. Likewise, for the rx_offset. If the usrp app uses a direct
frequency conversion and no LO is involved, then tx_offset is zero. One
strange thing is that when the parameter is not specified, the cal util
will use a default value 934400 internally. I don’t know where this
constant came from. Does it mean for direct frequency conversion, I should
specify tx_offset of 0 (to override the default 934400) when performing a
calibration?
My application runs on X310 with 2 UBX-40 installed for duplex operation.
It does specify a Rx LO on the receive and a Tx LO on the transmit, but the
difference between the Tx LO and Rx LO is 40MHz, which exceeds the
tx_offset/rx_offset max limit of 20MHz. Therefore, my only option is to run
the calibration without tx_offset and rx_offset specified, but I wonder how
the calibration result would impact my application performance.
I appreciate it if anyone can share his/her experience on the UHD cal
utility rx_offset & tx_offset usage.
Thanks,
Tom
The information contained in this e-mail and any attachments from W5
Technologies, Inc. may contain confidential and/or proprietary information,
and is intended only for the named recipient to whom it was originally
addressed. If you are not the intended recipient, any disclosure,
distribution, or copying of this e-mail or its attachments is strictly
prohibited. If you have received this e-mail in error, please notify the
sender immediately by return e-mail and permanently delete the e-mail and
any attachments.
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Tommy,
I'm either misunderstanding your email, or you're misunderstanding the
purpose of the tool, or maybe both.
Some facts:
- If you're unclear about the arguments, just use the default values,
they're probably fine.
- These tools are only suitable for direct-conversion (i.e., zero-IF)
daughterboards and don't work elsewhere. Maybe by "direct frequency
conversion" you mean something else (like the Basic boards?) but as I said,
you can't calibrate those with these tools.
- The duplex-ness of your application is not relevant here, the
uhd_cal_rx_iq_balance will calibrate RX IQ imbalance, the
uhd_cal_tx_iq_balance will calibrate TX IQ imbalance, and so on.
- The way these tools work is that we capture our own signal with our own
device, in a loopback mode, so you need to "listen" somewhere for the
signal. The Tx cal tools will have an rx_offset parameter to tell the tool
where to listen to the signal output. If we set that to zero, then the RX
LO could interfere with the TX LO, and that would affect our calibration.
- I'm not entirely sure about the exact provenance of the default value,
but it is a) small enough to work for all devices and rates, and b) is not
a multiple of anything, so it's less likely that the RX can interfere with
the TX.
The problem with the calibration is that it is single-point (i.e., not
frequency-selective). However, if you want to optimize the point where we
calibrate, the `tx_wave_freq` parameter is the one you want to tune, and
not the `rx_offset`.
I recommend you run the tools with the default values, based on your
description.
--M
On Fri, Jun 6, 2025 at 12:40 AM Tommy Tsui <tommytsui@w5tech.com> wrote:
>
>
> Hi,
>
>
>
> I have some open questions about tx_offset and rx_offset parameter usage
> for the UHD calibration utility uhd_cal_rx_iq_balance,
> uhd_cal_tx_iq_balance, and uhd_cal_tx_dc_offset.
>
>
>
> The cal util –help output indicates tx_offset is the TX LO offset from the
> RL LO in Hz. Likewise, for the rx_offset. If the usrp app uses a direct
> frequency conversion and no LO is involved, then tx_offset is zero. One
> strange thing is that when the parameter is not specified, the cal util
> will use a default value 934400 internally. I don’t know where this
> constant came from. Does it mean for direct frequency conversion, I should
> specify tx_offset of 0 (to override the default 934400) when performing a
> calibration?
>
>
>
> My application runs on X310 with 2 UBX-40 installed for duplex operation.
> It does specify a Rx LO on the receive and a Tx LO on the transmit, but the
> difference between the Tx LO and Rx LO is 40MHz, which exceeds the
> tx_offset/rx_offset max limit of 20MHz. Therefore, my only option is to run
> the calibration without tx_offset and rx_offset specified, but I wonder how
> the calibration result would impact my application performance.
>
>
>
> I appreciate it if anyone can share his/her experience on the UHD cal
> utility rx_offset & tx_offset usage.
>
>
>
> Thanks,
>
> Tom
>
>
> ------------------------------
> The information contained in this e-mail and any attachments from W5
> Technologies, Inc. may contain confidential and/or proprietary information,
> and is intended only for the named recipient to whom it was originally
> addressed. If you are not the intended recipient, any disclosure,
> distribution, or copying of this e-mail or its attachments is strictly
> prohibited. If you have received this e-mail in error, please notify the
> sender immediately by return e-mail and permanently delete the e-mail and
> any attachments.
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
>
T
tommytsui@w5tech.com
Fri, Jun 6, 2025 5:16 PM
Hi Marcus,
Once again thank you so much for your prompt and detail response. To answer your “direct frequency conversion” question, I like to point out the hardware architecture of UBX-40, the daughter card that we recently switched to because the old model WBX-40 is out of production. I have been evaluating UBX40 to see how it performs compared to WBX40. The UBX40 block diagram shown on website: UBX 10-6000 MHz Rx/Tx (40 MHz, N Series and X Series) | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
The UBX-40 card uses direct frequency conversion or heterodyne conversion depending on the target Rx or Tx frequency. I thought when direct frequency conversion is used, that is, when the Rx or Tx frequency is above 500MHz, no LO is involved. When the Rx or Tx frequency is below 500MHz, a heterodyne conversion is used (aka with a LO).
The UBX-40 block diagram shows that there are two REF input sources, one on the RF front end when the Rx or Tx frequency is below 500MHz, another on the ADC I&Q output. I could be wrong assuming the REF used for the RF front end is the LO. So please bear with me and correct me if I am wrong.
The main reason I scrutinized the cal tool is because UBX40 produces less than ideal performance compared to WBX40. When I ran a test application on X310 + UBX40 versus the same X310 + WBX40, UBX40 produced below acceptable WCDMA constellation at the transmitter output. The test ran on the same environment except the daughter card being swapped. The cal files for UBX40 were generated similar to that of WBX40 without tx_offset and rx_offset specified. It is a perplexing issue at this point.
Tom
Hi Marcus,
Once again thank you so much for your prompt and detail response. To answer your “direct frequency conversion” question, I like to point out the hardware architecture of UBX-40, the daughter card that we recently switched to because the old model WBX-40 is out of production. I have been evaluating UBX40 to see how it performs compared to WBX40. The UBX40 block diagram shown on website: [UBX 10-6000 MHz Rx/Tx (40 MHz, N Series and X Series) | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)](https://www.ettus.com/all-products/ubx40/)
The UBX-40 card uses direct frequency conversion or heterodyne conversion depending on the target Rx or Tx frequency. I thought when direct frequency conversion is used, that is, when the Rx or Tx frequency is above 500MHz, no LO is involved. When the Rx or Tx frequency is below 500MHz, a heterodyne conversion is used (aka with a LO).
The UBX-40 block diagram shows that there are two REF input sources, one on the RF front end when the Rx or Tx frequency is below 500MHz, another on the ADC I&Q output. I could be wrong assuming the REF used for the RF front end is the LO. So please bear with me and correct me if I am wrong.
The main reason I scrutinized the cal tool is because UBX40 produces less than ideal performance compared to WBX40. When I ran a test application on X310 + UBX40 versus the same X310 + WBX40, UBX40 produced below acceptable WCDMA constellation at the transmitter output. The test ran on the same environment except the daughter card being swapped. The cal files for UBX40 were generated similar to that of WBX40 without tx_offset and rx_offset specified. It is a perplexing issue at this point.
Tom
MB
Martin Braun
Tue, Jun 10, 2025 9:51 AM
Hey Tom,
I'm still not sure if we're talking about the same thing. Above 500 MHz,
one LO is used to mix your signal down to DC. Below 500 MHz, two LOs are
used, first to mix up, then to mix down. However, the first LO stage (for <
500 MHz) won't cause IQ imbalance or LO leakage in your signal band.
Because the LO feeds into two separate mixers, those may be imbalanced, and
because the LO frequency is necessarily close to the center frequency, the
LO can leak into the signal band.
Which frequency are you using, and have you tried adjusting the gain
settings?
--M
On Fri, Jun 6, 2025 at 7:17 PM tommytsui@w5tech.com wrote:
Hi Marcus,
Once again thank you so much for your prompt and detail response. To
answer your “direct frequency conversion” question, I like to point out the
hardware architecture of UBX-40, the daughter card that we recently
switched to because the old model WBX-40 is out of production. I have been
evaluating UBX40 to see how it performs compared to WBX40. The UBX40 block
diagram shown on website: UBX 10-6000 MHz Rx/Tx (40 MHz, N Series and X
Series) | Ettus Research, a National Instruments Brand | The leader in
Software Defined Radio (SDR) https://www.ettus.com/all-products/ubx40/
The UBX-40 card uses direct frequency conversion or heterodyne conversion
depending on the target Rx or Tx frequency. I thought when direct frequency
conversion is used, that is, when the Rx or Tx frequency is above 500MHz,
no LO is involved. When the Rx or Tx frequency is below 500MHz, a
heterodyne conversion is used (aka with a LO).
The UBX-40 block diagram shows that there are two REF input sources, one
on the RF front end when the Rx or Tx frequency is below 500MHz, another on
the ADC I&Q output. I could be wrong assuming the REF used for the RF front
end is the LO. So please bear with me and correct me if I am wrong.
The main reason I scrutinized the cal tool is because UBX40 produces less
than ideal performance compared to WBX40. When I ran a test application on
X310 + UBX40 versus the same X310 + WBX40, UBX40 produced below acceptable
WCDMA constellation at the transmitter output. The test ran on the same
environment except the daughter card being swapped. The cal files for UBX40
were generated similar to that of WBX40 without tx_offset and rx_offset
specified. It is a perplexing issue at this point.
Tom
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Hey Tom,
I'm still not sure if we're talking about the same thing. Above 500 MHz,
one LO is used to mix your signal down to DC. Below 500 MHz, two LOs are
used, first to mix up, then to mix down. However, the first LO stage (for <
500 MHz) won't cause IQ imbalance or LO leakage in your signal band.
Because the LO feeds into two separate mixers, those may be imbalanced, and
because the LO frequency is necessarily close to the center frequency, the
LO can leak into the signal band.
Which frequency are you using, and have you tried adjusting the gain
settings?
--M
On Fri, Jun 6, 2025 at 7:17 PM <tommytsui@w5tech.com> wrote:
> Hi Marcus,
>
> Once again thank you so much for your prompt and detail response. To
> answer your “direct frequency conversion” question, I like to point out the
> hardware architecture of UBX-40, the daughter card that we recently
> switched to because the old model WBX-40 is out of production. I have been
> evaluating UBX40 to see how it performs compared to WBX40. The UBX40 block
> diagram shown on website: UBX 10-6000 MHz Rx/Tx (40 MHz, N Series and X
> Series) | Ettus Research, a National Instruments Brand | The leader in
> Software Defined Radio (SDR) <https://www.ettus.com/all-products/ubx40/>
>
> The UBX-40 card uses direct frequency conversion or heterodyne conversion
> depending on the target Rx or Tx frequency. I thought when direct frequency
> conversion is used, that is, when the Rx or Tx frequency is above 500MHz,
> no LO is involved. When the Rx or Tx frequency is below 500MHz, a
> heterodyne conversion is used (aka with a LO).
>
> The UBX-40 block diagram shows that there are two REF input sources, one
> on the RF front end when the Rx or Tx frequency is below 500MHz, another on
> the ADC I&Q output. I could be wrong assuming the REF used for the RF front
> end is the LO. So please bear with me and correct me if I am wrong.
>
> The main reason I scrutinized the cal tool is because UBX40 produces less
> than ideal performance compared to WBX40. When I ran a test application on
> X310 + UBX40 versus the same X310 + WBX40, UBX40 produced below acceptable
> WCDMA constellation at the transmitter output. The test ran on the same
> environment except the daughter card being swapped. The cal files for UBX40
> were generated similar to that of WBX40 without tx_offset and rx_offset
> specified. It is a perplexing issue at this point.
>
>
> Tom
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
>
T
tommytsui@w5tech.com
Wed, Jun 11, 2025 10:58 PM
Hi Martin,
I have been trying to find out whether the lo-offset applies to the first LO or the second LO as there is no documentation on how it applies to a specific radio daughter card. From what I have learned, a lo-offset can apply regardless of the RF receive frequency is above or below 500MHz. When the RF Rx frequency > 500MHz the first RF stage uses direct frequency conversion. Hence, 1st LO is not used. This leads me to believe lo-offset applies the 2nd LO.
I tried on Rx frequency below and above 500MHz, same poor constellation quality issue occurred. That is, the Agilent WCDMA signal passed through the X310 frequency conversion produced poor constellation output at 800MHz when lo-offset > 16MHz. When lo-offset at 16MHz or below, the constellation looks good. Here are the specific details of the test:
X310 with 2 UBX-40 installed, UHD 4.8 FPGA image installed. A simple frequency conversion application similar to UHD example app rfnoc_radio_loop_back is used to perform frequency conversion between RX2 input at 240.5MHz and Rx/Tx output at 827MHz. An Agilent signal generator output WCDMA modulated signal to RX2 at 240.5MHz, a R&S spectrum analyzer monitored Rx/Tx output at 827MHz. The issue is not about the Rx and Tx tune frequency accuracy or the signal gain. The X310 and UBX40 tuned to the target Rx and Tx frequency accurately, the Rx and Tx signal gain are within expectation. The issue is the quality of the WCDMA constellation at the Tx output.
At first, I thought the issue might be calibration related, but after discussed with Marcus, I think another culprit is causing the issue.
The fact that when lo-offset was decreased from 20MHz to 16MHz resolved the poor constellation issue indicating it is unlikely due to IQ imbalance or DC offset, but I don’t know what exactly went wrong. I don’t have such issue when using WBX-40 boards.
I have X310 master_clock_rate set to 184.32MHz, DDC down sampling and DUC up sampling rate set to 7.68MHz. Increasing the sampling rate to 30.72MHz > lo-offset 20MHz still couldn’t resolve the issue.
Tom
Hi Martin,
I have been trying to find out whether the lo-offset applies to the first LO or the second LO as there is no documentation on how it applies to a specific radio daughter card. From what I have learned, a lo-offset can apply regardless of the RF receive frequency is above or below 500MHz. When the RF Rx frequency > 500MHz the first RF stage uses direct frequency conversion. Hence, 1st LO is not used. This leads me to believe lo-offset applies the 2nd LO.
I tried on Rx frequency below and above 500MHz, same poor constellation quality issue occurred. That is, the Agilent WCDMA signal passed through the X310 frequency conversion produced poor constellation output at 800MHz when lo-offset > 16MHz. When lo-offset at 16MHz or below, the constellation looks good. Here are the specific details of the test:
X310 with 2 UBX-40 installed, UHD 4.8 FPGA image installed. A simple frequency conversion application similar to UHD example app rfnoc_radio_loop_back is used to perform frequency conversion between RX2 input at 240.5MHz and Rx/Tx output at 827MHz. An Agilent signal generator output WCDMA modulated signal to RX2 at 240.5MHz, a R&S spectrum analyzer monitored Rx/Tx output at 827MHz. The issue is not about the Rx and Tx tune frequency accuracy or the signal gain. The X310 and UBX40 tuned to the target Rx and Tx frequency accurately, the Rx and Tx signal gain are within expectation. The issue is the quality of the WCDMA constellation at the Tx output.
At first, I thought the issue might be calibration related, but after discussed with Marcus, I think another culprit is causing the issue.
The fact that when lo-offset was decreased from 20MHz to 16MHz resolved the poor constellation issue indicating it is unlikely due to IQ imbalance or DC offset, but I don’t know what exactly went wrong. I don’t have such issue when using WBX-40 boards.
I have X310 master_clock_rate set to 184.32MHz, DDC down sampling and DUC up sampling rate set to 7.68MHz. Increasing the sampling rate to 30.72MHz > lo-offset 20MHz still couldn’t resolve the issue.
Tom
RK
Rob Kossler
Thu, Jun 12, 2025 1:03 PM
Tom,
The issue is that the analog bandwidth of the UBX-40 is only 40 MHz. The
LO is always the center of your analog bandwidth. See this
https://images.app.goo.gl/Hif742D13MVLg6fV8diagram. Thus your LO offset
is restricted as follows:
LO-offset <= (AnalogBW - SignalBW) / 2
In your case your signal bandwidth is almost 8 MHz which means that your
LO-offset must be less than 16 MHz. The fact that it worked for you with
WBX-40 may mean that the analog bandwidth roll-off of the WBX is less
severe than the UBX-40. If you used UBX-160 daughtercards, you would be
able to use large LO offsets.
Rob
On Wed, Jun 11, 2025 at 6:59 PM tommytsui@w5tech.com wrote:
Hi Martin,
I have been trying to find out whether the lo-offset applies to the first
LO or the second LO as there is no documentation on how it applies to a
specific radio daughter card. From what I have learned, a lo-offset can
apply regardless of the RF receive frequency is above or below 500MHz. When
the RF Rx frequency > 500MHz the first RF stage uses direct frequency
conversion. Hence, 1st LO is not used. This leads me to believe lo-offset
applies the 2nd LO.
I tried on Rx frequency below and above 500MHz, same poor constellation
quality issue occurred. That is, the Agilent WCDMA signal passed through
the X310 frequency conversion produced poor constellation output at 800MHz
when lo-offset > 16MHz. When lo-offset at 16MHz or below, the constellation
looks good. Here are the specific details of the test:
X310 with 2 UBX-40 installed, UHD 4.8 FPGA image installed. A simple
frequency conversion application similar to UHD example app
rfnoc_radio_loop_back is used to perform frequency conversion between RX2
input at 240.5MHz and Rx/Tx output at 827MHz. An Agilent signal generator
output WCDMA modulated signal to RX2 at 240.5MHz, a R&S spectrum analyzer
monitored Rx/Tx output at 827MHz. The issue is not about the Rx and Tx tune
frequency accuracy or the signal gain. The X310 and UBX40 tuned to the
target Rx and Tx frequency accurately, the Rx and Tx signal gain are within
expectation. The issue is the quality of the WCDMA constellation at the Tx
output.
At first, I thought the issue might be calibration related, but after
discussed with Marcus, I think another culprit is causing the issue.
The fact that when lo-offset was decreased from 20MHz to 16MHz resolved
the poor constellation issue indicating it is unlikely due to IQ imbalance
or DC offset, but I don’t know what exactly went wrong. I don’t have such
issue when using WBX-40 boards.
I have X310 master_clock_rate set to 184.32MHz, DDC down sampling and DUC
up sampling rate set to 7.68MHz. Increasing the sampling rate to 30.72MHz >
lo-offset 20MHz still couldn’t resolve the issue.
Tom
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Tom,
The issue is that the analog bandwidth of the UBX-40 is only 40 MHz. The
LO is always the center of your analog bandwidth. See this
<https://images.app.goo.gl/Hif742D13MVLg6fV8>diagram. Thus your LO offset
is restricted as follows:
LO-offset <= (AnalogBW - SignalBW) / 2
In your case your signal bandwidth is almost 8 MHz which means that your
LO-offset must be less than 16 MHz. The fact that it worked for you with
WBX-40 may mean that the analog bandwidth roll-off of the WBX is less
severe than the UBX-40. If you used UBX-160 daughtercards, you would be
able to use large LO offsets.
Rob
On Wed, Jun 11, 2025 at 6:59 PM <tommytsui@w5tech.com> wrote:
>
> Hi Martin,
>
> I have been trying to find out whether the lo-offset applies to the first
> LO or the second LO as there is no documentation on how it applies to a
> specific radio daughter card. From what I have learned, a lo-offset can
> apply regardless of the RF receive frequency is above or below 500MHz. When
> the RF Rx frequency > 500MHz the first RF stage uses direct frequency
> conversion. Hence, 1st LO is not used. This leads me to believe lo-offset
> applies the 2nd LO.
>
> I tried on Rx frequency below and above 500MHz, same poor constellation
> quality issue occurred. That is, the Agilent WCDMA signal passed through
> the X310 frequency conversion produced poor constellation output at 800MHz
> when lo-offset > 16MHz. When lo-offset at 16MHz or below, the constellation
> looks good. Here are the specific details of the test:
>
> X310 with 2 UBX-40 installed, UHD 4.8 FPGA image installed. A simple
> frequency conversion application similar to UHD example app
> rfnoc_radio_loop_back is used to perform frequency conversion between RX2
> input at 240.5MHz and Rx/Tx output at 827MHz. An Agilent signal generator
> output WCDMA modulated signal to RX2 at 240.5MHz, a R&S spectrum analyzer
> monitored Rx/Tx output at 827MHz. The issue is not about the Rx and Tx tune
> frequency accuracy or the signal gain. The X310 and UBX40 tuned to the
> target Rx and Tx frequency accurately, the Rx and Tx signal gain are within
> expectation. The issue is the quality of the WCDMA constellation at the Tx
> output.
>
> At first, I thought the issue might be calibration related, but after
> discussed with Marcus, I think another culprit is causing the issue.
>
> The fact that when lo-offset was decreased from 20MHz to 16MHz resolved
> the poor constellation issue indicating it is unlikely due to IQ imbalance
> or DC offset, but I don’t know what exactly went wrong. I don’t have such
> issue when using WBX-40 boards.
>
> I have X310 master_clock_rate set to 184.32MHz, DDC down sampling and DUC
> up sampling rate set to 7.68MHz. Increasing the sampling rate to 30.72MHz >
> lo-offset 20MHz still couldn’t resolve the issue.
>
>
> Tom
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
>
MB
Martin Braun
Thu, Jun 12, 2025 2:00 PM
Hi Martin,
I have been trying to find out whether the lo-offset applies to the first
LO or the second LO as there is no documentation on how it applies to a
specific radio daughter card. From what I have learned, a lo-offset can
apply regardless of the RF receive frequency is above or below 500MHz. When
the RF Rx frequency > 500MHz the first RF stage uses direct frequency
conversion. Hence, 1st LO is not used. This leads me to believe lo-offset
applies the 2nd LO.
This is correct. Another way to think about this is to realize that the
lowband LO is nowhere near our signal of interest, i.e., it has a built-in
LO offset.
--M
On Thu, Jun 12, 2025 at 12:59 AM <tommytsui@w5tech.com> wrote:
> Hi Martin,
>
> I have been trying to find out whether the lo-offset applies to the first
> LO or the second LO as there is no documentation on how it applies to a
> specific radio daughter card. From what I have learned, a lo-offset can
> apply regardless of the RF receive frequency is above or below 500MHz. When
> the RF Rx frequency > 500MHz the first RF stage uses direct frequency
> conversion. Hence, 1st LO is not used. This leads me to believe lo-offset
> applies the 2nd LO.
>
This is correct. Another way to think about this is to realize that the
lowband LO is nowhere near our signal of interest, i.e., it has a built-in
LO offset.
--M
T
tommytsui@w5tech.com
Thu, Jun 12, 2025 8:34 PM
Hi Rob,
Thank you so much for your explanation. It explains the root cause of the issue that I have been experiencing. You are correct that the WBX card I compared with is actually WBX-120, not WBX-40 as I first thought. The WBX-120 don’t have any model name marking on the cards, but when I ran uhd usrp probe on another X310 which still has WBX cards installed, the probe reported the radio cards WBX-120.
The formula that you provided explains perfectly the WCDMA constellation begins to degrade when the lo_offset > 16MHz.
The 3G WCDMA signal has 5MHz bandwidth. UBX-40 has 40MHz bandwidth. Max lo_offset <= (40 – 5) /2 or 17.5MHz.
Tom
Hi Rob,
Thank you so much for your explanation. It explains the root cause of the issue that I have been experiencing. You are correct that the WBX card I compared with is actually WBX-120, not WBX-40 as I first thought. The WBX-120 don’t have any model name marking on the cards, but when I ran uhd usrp probe on another X310 which still has WBX cards installed, the probe reported the radio cards WBX-120.
The formula that you provided explains perfectly the WCDMA constellation begins to degrade when the lo_offset > 16MHz.
The 3G WCDMA signal has 5MHz bandwidth. UBX-40 has 40MHz bandwidth. Max lo_offset <= (40 – 5) /2 or 17.5MHz.
Tom