Hi all,

I'm currently implementing a GNU Radio flowgraph that makes use of the RFNoC 
FFT block. After fixing a bug found out by Rob Kossler (mail in this mailing 
list from September 14) in the UHD repository, the original problem persists in 
GNU Radio: trying to use FFT lengths greater than 256 throws the error "samples 
per package must not be smaller than atomic item size".

When trying to look closer into the problem I noticed that the spp parameter is 
set differently when using the UHD python API directly (script 
rfnoc_rx_to_file) and when using GNU Radio. I added debug statements to the 
rfnoc_rx_streamer block that print the values of spp and ais.get() (atomic item 
size). When calling the rfnoc_rx_to_file script with a spp set to 1024 and an 
FFT length of 1024 I get the following output:

[INFO] [0/LogPwr#0] Setting default MTU forward policy.
Using radio 0, channel 0 Attempting to connect FFT:0 to 0/Radio#0:0...
Requesting RX Freq: 0 MHz... Actual RX Freq: 1 MHz...
Waiting for "lo_locked": ++++++++++ locked.
Requesting samples per packet of: 1024
Actual samples per packet = 1024
Using streamer args:

[DEBUG] spp = 18446744073709551615
[DEBUG] ais.get() = 1

[DEBUG] spp = 2000
[DEBUG] ais.get() = 1

[DEBUG] spp = 2000
[DEBUG] ais.get() = 1024

[DEBUG] spp = 1024
[DEBUG] ais.get() = 1024

Since here spp is not smaller than ais.get(), the flowgraph is able to run. 
When trying the same as a GNU Radio flowgraph, the output is the following:

[INFO] [0/LogPwr#0] Setting default MTU forward policy.

[DEBUG] spp = 18446744073709551615
[DEBUG] ais.get() = 1

[DEBUG] spp = 2000
[DEBUG] ais.get() = 1

[DEBUG] spp = 2000
[DEBUG] ais.get() = 2048

[DEBUG] spp = 0
[DEBUG] ais.get() = 2048

For some reason, spp is finally set to zero and ais.get() is set to 2048. I do 
not understand why, and I also don't get why the behavior is different for GNU 
Radio at all. Is it possible that GNU Radio uses its own version of UHD? Up 
until now I believed that GNU Radio simply uses the already installed UHD 
implementation over the UHD Python API. If this is not the case, how can I 
change this specific GNU Radio UHD version? I tried looking into the source 
code of gnuradio/gr-uhd/lib/rfnoc but I do not understand it unfortunately.

Regards
Luca
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to