Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHello,
I am having USRP X300 device with following tool versions:
Vivado 2021.1 - AR76780n,
GNU radio version - v3.11.0.0git-820-g2adbd4ea
UHD version - UHD_4.7.0.0-84-gbdada1ed
I have added FFT and Spliter RFNoC blocks in my bit file. The
"uhd_usrp_probe" command shows correct connection in the blocks.
| | RFNoC blocks on this device:
| |
| | * 0/DDC#0
| | * 0/FFT#0
| | * 0/Radio#0
| | * 0/Replay#0
| | * 0/SplitStream#0
| _____________________________________________________
| /
| | Static connections on this device:
| | * 0/Radio#0:0==>0/DDC#0:0
| | * 0/Radio#0:1==>0/DDC#0:1
| | * 0/DDC#0:1==>0/SEP#0:0
| | * 0/DDC#0:0==>0/SplitStream#0:0
| | * 0/SplitStream#0:1==>0/FFT#0:0
| | * 0/SplitStream#0:0==>0/SEP#2:0
| | * 0/FFT#0:0==>0/SEP#1:0
| | * 0/SEP#3:0==>0/Replay#0:0
| | * 0/Replay#0:0==>0/SEP#3:0
| | * 0/SEP#4:0==>0/Replay#0:1
| | * 0/Replay#0:1==>0/SEP#4:0
However, on running example code available on GNURADIO
"rfnoc_split_stream.grc". I get following error:
1. When FFT size = 1024 (as in the example given in gnu radio)
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RxStreamer#0] Cannot resolve spp! Must be a multiple of 1024 but
max value is 364Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: ValueError: Samples per packet is
incompatible with atomic item size!
--------------------------------------------------------------------------------------------------------------------------
How to know what is atomic size and how can I set it. On searching for this
error I came across following link:
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
This says rx stream is having a bug and AIS is in unit bytes, and spp in
unit items. It was a response of two years back with the uhd version
v4.3.0.0-rc1
https://github.com/EttusResearch/uhd/releases/tag/v4.3.0.0-rc1. Does this
explanation still hold? What is the max FFT size I can use? I want to use
2048, what changes need to be done for it.
1. When FFT size = 256
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RFNOC::GRAPH::DETAIL] The following properties could not be
resolved:[ERROR] [RFNOC::GRAPH::DETAIL] Dirty: RxStreamer#1[INPUT_EDGE:0
atomic_item_size]Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: RfnocError: ResolveError: Could not resolve
properties.
--------------------------------------------------------------------------------------------------------------------------
Am I doing anything wrong in the yml script because the connection seems
correct in the uhd_usrp_probe command. On further searching I found that
SPP i.e. sample per packet must be the same for all the blocks. Tried doing
it in gnu radio by assigning the args option with f"spp={fft_size}". Is
this correct? It gives no change in error howver I get additional warning
as
[WARNING] [0/FFT#0] set_properties() cannot set property spp': No such property. [WARNING] [0/DDC#0] set_properties() cannot set property
spp': No such
property.
Please help me to solve these errors.
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009
With this FFT block, you need to set the SPP to match the FFT size for it
to work correctly. I'm not very familiar with GNU Radio but I think there
is an SPP parameter on the RX radio. I don't know how to set it for TX.
Wade
On Wed, Oct 23, 2024 at 5:45 AM Nidhi Panda nidhi.panda@cyronics.com
wrote:
Hello,
I am having USRP X300 device with following tool versions:
Vivado 2021.1 - AR76780n,
GNU radio version - v3.11.0.0git-820-g2adbd4ea
UHD version - UHD_4.7.0.0-84-gbdada1ed
I have added FFT and Spliter RFNoC blocks in my bit file. The
"uhd_usrp_probe" command shows correct connection in the blocks.
| | RFNoC blocks on this device:
| |
| | * 0/DDC#0
| | * 0/FFT#0
| | * 0/Radio#0
| | * 0/Replay#0
| | * 0/SplitStream#0
| _____________________________________________________
| /
| | Static connections on this device:
| | * 0/Radio#0:0==>0/DDC#0:0
| | * 0/Radio#0:1==>0/DDC#0:1
| | * 0/DDC#0:1==>0/SEP#0:0
| | * 0/DDC#0:0==>0/SplitStream#0:0
| | * 0/SplitStream#0:1==>0/FFT#0:0
| | * 0/SplitStream#0:0==>0/SEP#2:0
| | * 0/FFT#0:0==>0/SEP#1:0
| | * 0/SEP#3:0==>0/Replay#0:0
| | * 0/Replay#0:0==>0/SEP#3:0
| | * 0/SEP#4:0==>0/Replay#0:1
| | * 0/Replay#0:1==>0/SEP#4:0
However, on running example code available on GNURADIO
"rfnoc_split_stream.grc". I get following error:
1. When FFT size = 1024 (as in the example given in gnu radio)
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RxStreamer#0] Cannot resolve spp! Must be a multiple of 1024 but
max value is 364Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: ValueError: Samples per packet is
incompatible with atomic item size!
--------------------------------------------------------------------------------------------------------------------------
How to know what is atomic size and how can I set it. On searching for
this error I came across following link:
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
This says rx stream is having a bug and AIS is in unit bytes, and spp in
unit items. It was a response of two years back with the uhd version
v4.3.0.0-rc1
https://github.com/EttusResearch/uhd/releases/tag/v4.3.0.0-rc1. Does
this explanation still hold? What is the max FFT size I can use? I want to
use 2048, what changes need to be done for it.
1. When FFT size = 256
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RFNOC::GRAPH::DETAIL] The following properties could not be
resolved:[ERROR] [RFNOC::GRAPH::DETAIL] Dirty: RxStreamer#1[INPUT_EDGE:0
atomic_item_size]Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: RfnocError: ResolveError: Could not resolve
properties.
--------------------------------------------------------------------------------------------------------------------------
Am I doing anything wrong in the yml script because the connection seems
correct in the uhd_usrp_probe command. On further searching I found that
SPP i.e. sample per packet must be the same for all the blocks. Tried doing
it in gnu radio by assigning the args option with f"spp={fft_size}". Is
this correct? It gives no change in error howver I get additional warning
as
[WARNING] [0/FFT#0] set_properties() cannot set property spp': No such property. [WARNING] [0/DDC#0] set_properties() cannot set property
spp': No such
property.
Please help me to solve these errors.
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Thank you for your response, but as I have mentioned I already tried to
set SPP to match FFT_size for Rx_radio. I also tried to set spp with py
script. It shows the same error as GNu radio which is:
[ERROR] [RxStreamer#0] Cannot resolve spp! Must be a multiple of 512 but
max value is 256Traceback (most recent call last): File "FFT_test.py",
line 47, in <module> fft.set_length(fft_length)RuntimeError: ValueError:
Samples per packet is incompatible with atomic item size!
I have attached my py script for your reference.* Is there any reference
code (GNU radio or python or CPP) which works with FFT size = 1024/2048? *Is
it even possible to get this FFT length (1024 and 2048 ) with USRP x300?
Also, I have only twin RX in my design so no TX.
Another thing I noticed is if I set fft|_length before committing the
graph, the max spp value is *364 *whereas after commit if I set fft_length
the max SPP size is 256. Can anyone please explain what is the reason for
this.
On Wed, Oct 23, 2024 at 6:59 PM Wade Fife wade.fife@ettus.com wrote:
With this FFT block, you need to set the SPP to match the FFT size for it
to work correctly. I'm not very familiar with GNU Radio but I think there
is an SPP parameter on the RX radio. I don't know how to set it for TX.
Wade
On Wed, Oct 23, 2024 at 5:45 AM Nidhi Panda nidhi.panda@cyronics.com
wrote:
Hello,
I am having USRP X300 device with following tool versions:
Vivado 2021.1 - AR76780n,
GNU radio version - v3.11.0.0git-820-g2adbd4ea
UHD version - UHD_4.7.0.0-84-gbdada1ed
I have added FFT and Spliter RFNoC blocks in my bit file. The
"uhd_usrp_probe" command shows correct connection in the blocks.
| | RFNoC blocks on this device:
| |
| | * 0/DDC#0
| | * 0/FFT#0
| | * 0/Radio#0
| | * 0/Replay#0
| | * 0/SplitStream#0
| _____________________________________________________
| /
| | Static connections on this device:
| | * 0/Radio#0:0==>0/DDC#0:0
| | * 0/Radio#0:1==>0/DDC#0:1
| | * 0/DDC#0:1==>0/SEP#0:0
| | * 0/DDC#0:0==>0/SplitStream#0:0
| | * 0/SplitStream#0:1==>0/FFT#0:0
| | * 0/SplitStream#0:0==>0/SEP#2:0
| | * 0/FFT#0:0==>0/SEP#1:0
| | * 0/SEP#3:0==>0/Replay#0:0
| | * 0/Replay#0:0==>0/SEP#3:0
| | * 0/SEP#4:0==>0/Replay#0:1
| | * 0/Replay#0:1==>0/SEP#4:0
However, on running example code available on GNURADIO
"rfnoc_split_stream.grc". I get following error:
1. When FFT size = 1024 (as in the example given in gnu radio)
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RxStreamer#0] Cannot resolve spp! Must be a multiple of 1024
but max value is 364Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: ValueError: Samples per packet is
incompatible with atomic item size!
--------------------------------------------------------------------------------------------------------------------------
How to know what is atomic size and how can I set it. On searching for
this error I came across following link:
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
This says rx stream is having a bug and AIS is in unit bytes, and spp in
unit items. It was a response of two years back with the uhd version
v4.3.0.0-rc1
https://github.com/EttusResearch/uhd/releases/tag/v4.3.0.0-rc1. Does
this explanation still hold? What is the max FFT size I can use? I want to
use 2048, what changes need to be done for it.
1. When FFT size = 256
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RFNOC::GRAPH::DETAIL] The following properties could not be
resolved:[ERROR] [RFNOC::GRAPH::DETAIL] Dirty: RxStreamer#1[INPUT_EDGE:0
atomic_item_size]Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: RfnocError: ResolveError: Could not resolve
properties.
--------------------------------------------------------------------------------------------------------------------------
Am I doing anything wrong in the yml script because the connection seems
correct in the uhd_usrp_probe command. On further searching I found that
SPP i.e. sample per packet must be the same for all the blocks. Tried doing
it in gnu radio by assigning the args option with f"spp={fft_size}". Is
this correct? It gives no change in error howver I get additional warning
as
[WARNING] [0/FFT#0] set_properties() cannot set property spp': No such property. [WARNING] [0/DDC#0] set_properties() cannot set property
spp': No such
property.
Please help me to solve these errors.
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009
Just to update on my previous question. I also tried to update
"rfnoc_rx_streamer.cpp" by changing function spp4 * in the*
"add_property_resolver function"* as follows:
And recompiler uhd with following commands:
cd uhd/host
cmake ..
make
make test # Optional: run tests*
sudo make install *
However, this also resulted in the same error.
On Mon, Nov 4, 2024 at 12:41 PM Nidhi Panda nidhi.panda@cyronics.com
wrote:
Thank you for your response, but as I have mentioned I already tried to
set SPP to match FFT_size for Rx_radio. I also tried to set spp with py
script. It shows the same error as GNu radio which is:
[ERROR] [RxStreamer#0] Cannot resolve spp! Must be a multiple of 512 but
max value is 256Traceback (most recent call last): File "FFT_test.py",
line 47, in <module> fft.set_length(fft_length)RuntimeError: ValueError:
Samples per packet is incompatible with atomic item size!
I have attached my py script for your reference.* Is there any reference
code (GNU radio or python or CPP) which works with FFT size = 1024/2048? *Is
it even possible to get this FFT length (1024 and 2048 ) with USRP x300?
Also, I have only twin RX in my design so no TX.
Another thing I noticed is if I set fft|_length before committing the
graph, the max spp value is *364 *whereas after commit if I set
fft_length the max SPP size is 256. Can anyone please explain what is
the reason for this.
On Wed, Oct 23, 2024 at 6:59 PM Wade Fife wade.fife@ettus.com wrote:
With this FFT block, you need to set the SPP to match the FFT size for it
to work correctly. I'm not very familiar with GNU Radio but I think there
is an SPP parameter on the RX radio. I don't know how to set it for TX.
Wade
On Wed, Oct 23, 2024 at 5:45 AM Nidhi Panda nidhi.panda@cyronics.com
wrote:
Hello,
I am having USRP X300 device with following tool versions:
Vivado 2021.1 - AR76780n,
GNU radio version - v3.11.0.0git-820-g2adbd4ea
UHD version - UHD_4.7.0.0-84-gbdada1ed
I have added FFT and Spliter RFNoC blocks in my bit file. The
"uhd_usrp_probe" command shows correct connection in the blocks.
| | RFNoC blocks on this device:
| |
| | * 0/DDC#0
| | * 0/FFT#0
| | * 0/Radio#0
| | * 0/Replay#0
| | * 0/SplitStream#0
| _____________________________________________________
| /
| | Static connections on this device:
| | * 0/Radio#0:0==>0/DDC#0:0
| | * 0/Radio#0:1==>0/DDC#0:1
| | * 0/DDC#0:1==>0/SEP#0:0
| | * 0/DDC#0:0==>0/SplitStream#0:0
| | * 0/SplitStream#0:1==>0/FFT#0:0
| | * 0/SplitStream#0:0==>0/SEP#2:0
| | * 0/FFT#0:0==>0/SEP#1:0
| | * 0/SEP#3:0==>0/Replay#0:0
| | * 0/Replay#0:0==>0/SEP#3:0
| | * 0/SEP#4:0==>0/Replay#0:1
| | * 0/Replay#0:1==>0/SEP#4:0
However, on running example code available on GNURADIO
"rfnoc_split_stream.grc". I get following error:
1. When FFT size = 1024 (as in the example given in gnu radio)
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RxStreamer#0] Cannot resolve spp! Must be a multiple of 1024
but max value is 364Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: ValueError: Samples per packet is
incompatible with atomic item size!
--------------------------------------------------------------------------------------------------------------------------
How to know what is atomic size and how can I set it. On searching for
this error I came across following link:
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
https://github.com/EttusResearch/uhd/commit/f163af41a47ab4c702ffbdb10352cf875d604d74
This says rx stream is having a bug and AIS is in unit bytes, and spp
in unit items. It was a response of two years back with the uhd version
v4.3.0.0-rc1
https://github.com/EttusResearch/uhd/releases/tag/v4.3.0.0-rc1. Does
this explanation still hold? What is the max FFT size I can use? I want to
use 2048, what changes need to be done for it.
1. When FFT size = 256
--------------------------------------------------------------------------------------------------------------------------
[ERROR] [RFNOC::GRAPH::DETAIL] The following properties could not be
resolved:[ERROR] [RFNOC::GRAPH::DETAIL] Dirty: RxStreamer#1[INPUT_EDGE:0
atomic_item_size]Traceback (most recent call last): File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
347, in <module> main() File
"/home/quasar/gnuradio/gr-uhd/examples/grc/rfnoc_split_stream.py", line
326, in main tb.start() File
"/usr/local/lib/python3.8/dist-packages/gnuradio/gr/top_block.py", line
116, in start top_block_start_unlocked(self._impl,
max_noutput_items)RuntimeError: RfnocError: ResolveError: Could not resolve
properties.
--------------------------------------------------------------------------------------------------------------------------
Am I doing anything wrong in the yml script because the connection seems
correct in the uhd_usrp_probe command. On further searching I found that
SPP i.e. sample per packet must be the same for all the blocks. Tried doing
it in gnu radio by assigning the args option with f"spp={fft_size}". Is
this correct? It gives no change in error howver I get additional warning
as
[WARNING] [0/FFT#0] set_properties() cannot set property spp': No such property. [WARNING] [0/DDC#0] set_properties() cannot set property
spp': No such
property.
Please help me to solve these errors.
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009
--
Regards,
Nidhi Panda
Cyronics Innovation Labs Pvt Ltd
#11, Electronics Co-op Estate
Satara Road, Pune - 411009