Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHello,
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
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
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
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.
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.
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?
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