usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Underflow Issue During Transmission and Reception with USRP X310

G
gechb21@gmail.com
Wed, Jul 30, 2025 6:45 AM

Hello,

I’m using USRP X310 devices on both the transmitting and receiving ends to handle a data stream. During transmission, I run the following command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6 --gain 10 --wirefmt sc16 --ref=internal --file /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

I encounter consistent underflow issues (indicated by "U" messages in the console), regardless of the sample rate used. Could you please advise how to modify my setup or code to enable stable transmission and reception without these underflow errors?

Thank you,

Getaneh Berie

Hello, I’m using USRP X310 devices on both the transmitting and receiving ends to handle a data stream. During transmission, I run the following command: /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6 --gain 10 --wirefmt sc16 --ref=internal --file /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat I encounter consistent underflow issues (indicated by "U" messages in the console), regardless of the sample rate used. Could you please advise how to modify my setup or code to enable stable transmission and reception without these underflow errors? Thank you, Getaneh Berie
MB
Martin Braun
Wed, Jul 30, 2025 10:09 AM

Any answer is a variation of "get a better computer" and "get better
software". tx_samples_from_file is an example that is meant to show how to
use UHD APIs, although 20 Msps is pretty slow and this tool should be
perfectly capable of handling that. You can even safely transmit 20 Msps
over 1 GbE. You could try mounting your reference file on a ramdisk. Also,
run benchmark_rate to make sure your connection is capable of handling the
speed. You can also check out
https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks, although
those tuning tips are typically meant for higher rates (and for 10 or 100
GbE).

--M

On Wed, Jul 30, 2025 at 8:46 AM gechb21@gmail.com wrote:

Hello,

I’m using USRP X310 devices on both the transmitting and receiving ends to
handle a data stream. During transmission, I run the following command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6
--gain 10 --wirefmt sc16 --ref=internal --file
/home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

I encounter consistent underflow issues (indicated by "U" messages in the
console), regardless of the sample rate used. Could you please advise how
to modify my setup or code to enable stable transmission and reception
without these underflow errors?

Thank you,

Getaneh Berie


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

Any answer is a variation of "get a better computer" and "get better software". tx_samples_from_file is an example that is meant to show how to use UHD APIs, although 20 Msps is pretty slow and this tool should be perfectly capable of handling that. You can even safely transmit 20 Msps over 1 GbE. You could try mounting your reference file on a ramdisk. Also, run benchmark_rate to make sure your connection is capable of handling the speed. You can also check out https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks, although those tuning tips are typically meant for higher rates (and for 10 or 100 GbE). --M On Wed, Jul 30, 2025 at 8:46 AM <gechb21@gmail.com> wrote: > Hello, > > I’m using USRP X310 devices on both the transmitting and receiving ends to > handle a data stream. During transmission, I run the following command: > > /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6 > --gain 10 --wirefmt sc16 --ref=internal --file > /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat > > I encounter consistent underflow issues (indicated by "U" messages in the > console), regardless of the sample rate used. Could you please advise how > to modify my setup or code to enable stable transmission and reception > without these underflow errors? > > Thank you, > > Getaneh Berie > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >
RK
Rob Kossler
Wed, Jul 30, 2025 1:26 PM

I will add that if your waveform is repeating (I noticed the --repeat
flag), you can alternatively use the Replay block to playout your Tx
waveform. With this block you load the samples in the Replay block memory
in non-realtime and then you can initiate the playout to the radio and
avoid all underruns.  But, if your waveform is non-repeating or not known
in advance, this won't help.
Rob

On Wed, Jul 30, 2025 at 6:09 AM Martin Braun martin.braun@ettus.com wrote:

Any answer is a variation of "get a better computer" and "get better
software". tx_samples_from_file is an example that is meant to show how to
use UHD APIs, although 20 Msps is pretty slow and this tool should be
perfectly capable of handling that. You can even safely transmit 20 Msps
over 1 GbE. You could try mounting your reference file on a ramdisk. Also,
run benchmark_rate to make sure your connection is capable of handling the
speed. You can also check out
https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks,
although those tuning tips are typically meant for higher rates (and for 10
or 100 GbE).

--M

On Wed, Jul 30, 2025 at 8:46 AM gechb21@gmail.com wrote:

Hello,

I’m using USRP X310 devices on both the transmitting and receiving ends
to handle a data stream. During transmission, I run the following command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6
--gain 10 --wirefmt sc16 --ref=internal --file
/home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

I encounter consistent underflow issues (indicated by "U" messages in the
console), regardless of the sample rate used. Could you please advise how
to modify my setup or code to enable stable transmission and reception
without these underflow errors?

Thank you,

Getaneh Berie


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

I will add that if your waveform is repeating (I noticed the --repeat flag), you can alternatively use the Replay block to playout your Tx waveform. With this block you load the samples in the Replay block memory in non-realtime and then you can initiate the playout to the radio and avoid all underruns. But, if your waveform is non-repeating or not known in advance, this won't help. Rob On Wed, Jul 30, 2025 at 6:09 AM Martin Braun <martin.braun@ettus.com> wrote: > Any answer is a variation of "get a better computer" and "get better > software". tx_samples_from_file is an example that is meant to show how to > use UHD APIs, although 20 Msps is pretty slow and this tool should be > perfectly capable of handling that. You can even safely transmit 20 Msps > over 1 GbE. You could try mounting your reference file on a ramdisk. Also, > run benchmark_rate to make sure your connection is capable of handling the > speed. You can also check out > https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks, > although those tuning tips are typically meant for higher rates (and for 10 > or 100 GbE). > > --M > > On Wed, Jul 30, 2025 at 8:46 AM <gechb21@gmail.com> wrote: > >> Hello, >> >> I’m using USRP X310 devices on both the transmitting and receiving ends >> to handle a data stream. During transmission, I run the following command: >> >> /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6 >> --gain 10 --wirefmt sc16 --ref=internal --file >> /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat >> >> I encounter consistent underflow issues (indicated by "U" messages in the >> console), regardless of the sample rate used. Could you please advise how >> to modify my setup or code to enable stable transmission and reception >> without these underflow errors? >> >> Thank you, >> >> Getaneh Berie >> _______________________________________________ >> USRP-users mailing list -- usrp-users@lists.ettus.com >> To unsubscribe send an email to usrp-users-leave@lists.ettus.com >> > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >
MD
Marcus D. Leech
Wed, Jul 30, 2025 1:37 PM

On 2025-07-30 02:45, gechb21@gmail.com wrote:

Hello,

I’m using USRP X310 devices on both the transmitting and receiving
ends to handle a data stream. During transmission, I run the following
command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6
--gain 10 --wirefmt sc16 --ref=internal --file
/home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

I encounter consistent underflow issues (indicated by "U" messages in
the console), regardless of the sample rate used. Could you please
advise how to modify my setup or code to enable stable transmission
and reception without these underflow errors?

Thank you,

Getaneh Berie


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

I'll note that 20msps is 80Mbyte/second.   If your disk subsystem cannot
sustain this rate, you'll get under-runs.

If your file can fit on ram-disk, move it there.

On 2025-07-30 02:45, gechb21@gmail.com wrote: > > Hello, > > I’m using USRP X310 devices on both the transmitting and receiving > ends to handle a data stream. During transmission, I run the following > command: > > /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 20e6 > --gain 10 --wirefmt sc16 --ref=internal --file > /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat > > I encounter consistent underflow issues (indicated by "U" messages in > the console), regardless of the sample rate used. Could you please > advise how to modify my setup or code to enable stable transmission > and reception without these underflow errors? > > Thank you, > > Getaneh Berie > > > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com I'll note that 20msps is 80Mbyte/second.   If your disk subsystem cannot sustain this rate, you'll get under-runs. If your file can fit on ram-disk, move it there.
G
gechb21@gmail.com
Thu, Jul 31, 2025 2:05 PM

When I run the following command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 3e6 --gain 10 --wirefmt sc16 --ref=internal --file /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

UHD generates this warning:

“The requested interpolation is odd; the user should expect CIC rolloff. Select an even interpolation to ensure that a halfband filter is enabled.”

The transmission appears to run without errors, but I don’t see any signal on the spectrum analyzer. Could you please clarify what this warning means and if it might be related to why the signal isn’t showing up?

Thanks.

When I run the following command: /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 3e6 --gain 10 --wirefmt sc16 --ref=internal --file /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat UHD generates this warning: “The requested interpolation is odd; the user should expect CIC rolloff. Select an even interpolation to ensure that a halfband filter is enabled.” The transmission appears to run without errors, but I don’t see any signal on the spectrum analyzer. Could you please clarify what this warning means and if it might be related to why the signal isn’t showing up? Thanks.
MD
Marcus D. Leech
Thu, Jul 31, 2025 2:48 PM

On 2025-07-31 10:05, gechb21@gmail.com wrote:

When I run the following command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 3e6
--gain 10 --wirefmt sc16 --ref=internal --file
/home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

UHD generates this warning:

“The requested interpolation is odd; the user should expect
CIC rolloff. Select an even interpolation to ensure that a halfband
filter is enabled.”

The transmission appears to run without errors, but I don’t see any
signal on the spectrum analyzer. Could you please clarify what this
warning means and if it might be related to why the signal isn’t
showing up?

Thanks.


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

You haven't said which daughtercard(s) you have installed, so that will
factor into the answer.

But a couple of main points:

3e6 SPS doesn't divide the master-clock on the X310 precisely (defaults
to 200MHz), so UHD will find a rate  that is close that DOES satisfy the
requirement that the
  sample rate be an integer fraction of the master clock rate.

IN ADDITION, the resulting rate produces an interpolation factor that
is of odd order, so the filter arrangement in the DUC (that rate-changes
your
  desired sample rate to the rate that the DACs operate at) will
produce a typical half-band roll-off.  This is normal with DUC/DDC
implementations of
  this type.

So, if your data are sampled at exactly 3.00MSPS, your entire TX
spectrum will be somewhat "off", but should still show up.  What
daughtercard(s) are you using?

On 2025-07-31 10:05, gechb21@gmail.com wrote: > > > When I run the following command: > > /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 3e6 > --gain 10 --wirefmt sc16 --ref=internal --file > /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat > > UHD generates this warning: > > “The requested interpolation is odd; the user should expect > CIC rolloff. Select an even interpolation to ensure that a halfband > filter is enabled.” > > The transmission appears to run without errors, but I don’t see any > signal on the spectrum analyzer. Could you please clarify what this > warning means and if it might be related to why the signal isn’t > showing up? > > Thanks. > > > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com You haven't said which daughtercard(s) you have installed, so that will factor into the answer. But a couple of main points: 3e6 SPS doesn't divide the master-clock on the X310 precisely (defaults to 200MHz), so UHD will find a rate  that is close that DOES satisfy the requirement that the   sample rate be an integer fraction of the master clock rate. IN ADDITION, the resulting rate produces an interpolation *factor* that is of odd order, so the filter arrangement in the DUC (that rate-changes your   desired sample rate to the rate that the DACs operate at) will produce a typical half-band roll-off.  This is normal with DUC/DDC implementations of   this type. So, if your data are sampled at exactly 3.00MSPS, your entire TX spectrum will be somewhat "off", but should still show up.  What daughtercard(s) are you using?
MB
Martin Braun
Thu, Jul 31, 2025 8:26 PM

Also, can you confirm that tx_transmit_data.dat stores the samples as
16-bit IQ integers?

--M

On Thu, Jul 31, 2025 at 4:06 PM gechb21@gmail.com wrote:

When I run the following command:

/usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 3e6 --gain
10 --wirefmt sc16 --ref=internal --file
/home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat

UHD generates this warning:

“The requested interpolation is odd; the user should expect
CIC rolloff. Select an even interpolation to ensure that a halfband filter
is enabled.”

The transmission appears to run without errors, but I don’t see any signal
on the spectrum analyzer. Could you please clarify what this warning means
and if it might be related to why the signal isn’t showing up?

Thanks.


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

Also, can you confirm that tx_transmit_data.dat stores the samples as 16-bit IQ integers? --M On Thu, Jul 31, 2025 at 4:06 PM <gechb21@gmail.com> wrote: > > When I run the following command: > > /usr/lib/uhd/examples/tx_samples_from_file --freq 2484e6 --rate 3e6 --gain > 10 --wirefmt sc16 --ref=internal --file > /home/ubuntutx/uhd/examples/tx_transmit_data.dat --repeat > > UHD generates this warning: > > “The requested interpolation is odd; the user should expect > CIC rolloff. Select an even interpolation to ensure that a halfband filter > is enabled.” > > The transmission appears to run without errors, but I don’t see any signal > on the spectrum analyzer. Could you please clarify what this warning means > and if it might be related to why the signal isn’t showing up? > > Thanks. > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >