Re: [USRP-users] I want to build my custom FPGA image but failed to get the license

2017-07-25 Thread Nate Temple via USRP-users
Hi,

Which OS and OS Version are you using?

Regards,
Nate


> On Jul 25, 2017, at 5:55 PM, 이진세 via USRP-users  
> wrote:
> 
>  hello
>  
> I use e310 and try to build custom fpga image.
>  
> and i entered a trial license, including webPack, from Vivado License manager.
>  
> In the View License Status tab, the license named Synthesis and XC7Z020 is 
> displayed.
>  
> However, i received error message saying that the license is not available.
>  
> this is error log about command 'sudo ./uhd_image_builder.py window fft -d 
> e310 -t E310_RFNOC_sg3 -m 5 --fill-with-fifos'.
>  
> please tell me what is wrong.
> 
> thanks.
>  
>  
> spade@spade-DREAMPRO:~/rfnoc/src/uhd-fpga/usrp3/tools/scripts$ sudo 
> ./uhd_image_builder.py window fft -d e310 -t E310_RFNOC_sg3 -m 5 
> --fill-with-fifos
> [sudo] password for spade: 
> --Using the following blocks to generate image:
> * window
> * fft
> Adding CE instantiation file for 'E310_RFNOC_sg3'
> changing temporarily working directory to 
> /home/spade/rfnoc/src/uhd-fpga/usrp3/tools/scripts/../../top/e300
> Setting up a 64-bit FPGA build environment for the USRP-E3x0...
> - Vivado: Found (/opt/Xilinx/Vivado/2015.4/bin)
> - Vivado HLS: Found (/opt/Xilinx/Vivado_HLS/2015.4/bin)
> 
> Environment successfully initialized.
> make -f Makefile.e300.inc bin NAME=E310_RFNOC_sg3 ARCH=zynq 
> PART_ID=xc7z020/clg484/-3 RFNOC=1 E310=1 EXTRA_DEFS="RFNOC=1 E310=1"
> make[1]: Entering directory '/home/spade/rfnoc/src/uhd-fpga/usrp3/top/e300'
> BUILDER: Checking tools...
> * GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
> * Python 2.7.12
> * Vivado v2015.4 (64-bit)
> 
> BUILDER: Building IP axi_fft
> 
> BUILDER: Staging IP in build directory...
> BUILDER: Reserving IP location: 
> /home/spade/rfnoc/src/uhd-fpga/usrp3/top/e300/build-ip/xc7z020clg484-3/axi_fft
> BUILDER: Retargeting IP to part zynq/xc7z020/clg484/-3...
> BUILDER: Building IP...
> 
> ** Vivado v2015.4 (64-bit)
>    SW Build 1412921 on Wed Nov 18 09:44:32 MST 2015
>    IP Build 1412160 on Tue Nov 17 13:47:24 MST 2015
> ** Copyright 1986-2015 Xilinx, Inc. All Rights Reserved.
> 
> source /home/spade/rfnoc/src/uhd-fpga/usrp3/tools/scripts/viv_generate_ip.tcl
> # set xci_file $::env(XCI_FILE)   ;
> # set part_name$::env(PART_NAME)  ;
> # set gen_example_proj $::env(GEN_EXAMPLE);
> # set synth_ip $::env(SYNTH_IP)   ;
> # set ip_name [file rootname [file tail $xci_file]]   ;
> # file delete -force "$xci_file.out"
> # create_project -part $part_name -in_memory -ip
> # set_property target_simulator XSim [current_project]
> # add_files -norecurse -force $xci_file
> INFO: [IP_Flow 19-234] Refreshing IP repositories
> INFO: [IP_Flow 19-1704] No user IP repositories specified
> INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 
> '/opt/Xilinx/Vivado/2015.4/data/ip'.
> # reset_target all [get_files $xci_file]
> # puts "BUILDER: Generating IP Target..."
> BUILDER: Generating IP Target...
> # generate_target all [get_files $xci_file]
> INFO: [IP_Flow 19-1686] Generating 'Instantiation Template' target for IP 
> 'axi_fft'...
> INFO: [IP_Flow 19-1686] Generating 'Synthesis' target for IP 'axi_fft'...
> INFO: [Device 21-403] Loading part xc7z020clg484-3
> INFO: [IP_Flow 19-1686] Generating 'Simulation' target for IP 'axi_fft'...
> INFO: [IP_Flow 19-1686] Generating 'C Simulation' target for IP 'axi_fft'...
> INFO: [IP_Flow 19-1686] Generating 'Test Bench' target for IP 'axi_fft'...
> INFO: [IP_Flow 19-1686] Generating 'Change Log' target for IP 'axi_fft'...
> generate_target: Time (s): cpu = 00:00:06 ; elapsed = 00:00:08 . Memory (MB): 
> peak = 1134.184 ; gain = 162.906 ; free physical = 1258 ; free virtual = 6661
> # if [string match $synth_ip "1"] {
> # puts "BUILDER: Synthesizing IP Target..."
> # synth_ip [get_ips $ip_name]
> # }
> BUILDER: Synthesizing IP Target...
> INFO: [IP_Flow 19-234] Refreshing IP repositories
> INFO: [IP_Flow 19-1704] No user IP repositories specified
> INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 
> '/opt/Xilinx/Vivado/2015.4/data/ip'.
> Command: synth_design -top axi_fft -part xc7z020clg484-3 -mode out_of_context
> Starting synth_design
> Attempting to get a license for feature 'Synthesis' and/or device 'xc7z020'
> WARNING: [Common 17-348] Failed to get the license for feature 'Synthesis' 
> and/or device 'xc7z020'
> 1 Infos, 1 Warnings, 0 Critical Warnings and 1 Errors encountered.
> synth_design failed
> ERROR: [Common 17-345] A valid license was not found for feature 'Synthesis' 
> and/or device 'xc7z020'. Please run the Vivado License Manager for assistance 
> in determining
> which features and devices are licensed for your system.
> Resolution: Check the status of your licenses in the Vivado License Manager. 
> For debug help search Xilinx Support for "Licensing FAQ".

Re: [USRP-users] 答复: frequency shift of B210

2017-07-25 Thread john liu via USRP-users
Hi all,
Any suggestions is welcome.

best regards
Jong

On Mon, Jul 24, 2017 at 5:35 PM, john liu  wrote:

> HI,all,
> Do you have any suggestions about this?
> thank you.
> best regards
> John
>
> On Mon, Jul 24, 2017 at 9:15 AM, 戚科峰(研三 福州) 
> wrote:
>
>> Hi,Marcus,
>>
>>
>>
>> we use The B210 as a basestation and cc1120 as the tranceiver of UE.
>>
>> The B210 uses the Frequency offset estimation algorithm to estimate the
>> frequency offset of cc1120 and records it.
>>
>> there are several UE in the system,UE will receive the B210'signal
>> periodically and will send a signal to B210 in another period.
>>
>> when the phenomenon of the 3.2k frequency shift occured, all UE could
>> not receive the signal of B210.when time for UE to send a signal,
>>
>> B210 would estimate the new frequency shift and found that the Frequency
>> offset of every UE shifts 3.2k。So we think the shifting occured in B210
>> instead of UE。
>>
>>
>>
>> best regards
>>
>>
>>
>>
>>
>> *发件人:* john liu [mailto:johncorad1...@gmail.com]
>> *发送时间:* 2017年7月21日 16:42
>> *收件人:* Marcus D. Leech
>> *抄送:* USRP-users@lists.ettus.com; 戚科峰(研三 福州)
>> *主题:* Re: frequency shift of B210
>>
>>
>>
>> Hi,Marcus,
>>
>> We calculated this.
>>
>> The B210 not only generate a GFSK signal,but also received the signal
>> from CC1120.The CC1120 and B210 both work in full duplex mode.
>>
>> Hi qi,
>>
>> Can you describe your test method?I am not clear for that.
>>
>>
>>
>> best regards
>>
>> John
>>
>>
>>
>>
>>
>> On Fri, Jul 21, 2017 at 10:47 AM, Marcus D. Leech 
>> wrote:
>>
>> On 07/20/2017 10:08 PM, john liu wrote:
>>
>> i am sorry.
>>
>> We generate a GFSK signal with B210 and  received the signal with
>> multiple cc1120.When frequency shift occurred,the cc1120 can not received
>> the signal.
>>
>> Also, another b210 has been running for several days without such a jump
>> phenomenon.
>>
>> So, sorry to be a bother, but, where did the 3.2kHz frequency shift
>> measurement come from?   The CC1120 is just a GFSK demodulating digital
>> receiver.
>>
>>
>>
>>
>>
>> On Fri, Jul 21, 2017 at 9:37 AM, Marcus D. Leech 
>> wrote:
>>
>> No i mean what were you measuring?
>>
>>
>>
>> Were you using an external signal generator and what were its specs?
>>
>>
>>
>>
>> Sent from my iPhone
>>
>>
>> On Jul 20, 2017, at 9:09 PM, john liu  wrote:
>>
>> HI Marcus,
>>
>> internal with  TCXO.
>>
>>
>>
>> On Thu, Jul 20, 2017 at 11:31 PM, Marcus D. Leech 
>> wrote:
>>
>> On 07/20/2017 02:22 AM, john liu wrote:
>>
>>
>>
>> What was your tuned frequency in this case?
>>
>>
>>
>> Hi,Marcus,
>>
>>
>>
>> It is 433.05Mhz
>>
>> That's about 7PPM.
>>
>> What was your signal source?
>>
>>
>>
>>
>>
>> On Thu, Jul 20, 2017 at 11:46 AM, john liu 
>> wrote:
>>
>> Hi all,
>>
>> We used B210 with TCXO,and run about 2 hours , a 3.2K frequency shift
>> occurred when the temperature did not change significantly.Is it a normal?
>>
>> How can we improve this situation?
>>
>>
>>
>> thank you.
>>
>> best regards
>>
>> John
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


[USRP-users] I want to build my custom FPGA image but failed to get the license

2017-07-25 Thread 이진세 via USRP-users
 hello
 
I use e310 and try to build custom fpga image.
 
and i entered a trial license, including webPack, from Vivado License manager.
 
In the View License Status tab, the license named Synthesis and XC7Z020 is 
displayed.
 
However, i received error message saying that the license is not available.
 
this is error log about command 'sudo ./uhd_image_builder.py window fft -d e310 
-t E310_RFNOC_sg3 -m 5 --fill-with-fifos'.
 
please tell me what is wrong.


thanks.
 
 
spade@spade-DREAMPRO:~/rfnoc/src/uhd-fpga/usrp3/tools/scripts$ sudo 
./uhd_image_builder.py window fft -d e310 -t E310_RFNOC_sg3 -m 5 
--fill-with-fifos
[sudo] password for spade: 
--Using the following blocks to generate image:
* window
* fft
Adding CE instantiation file for 'E310_RFNOC_sg3'
changing temporarily working directory to 
/home/spade/rfnoc/src/uhd-fpga/usrp3/tools/scripts/../../top/e300
Setting up a 64-bit FPGA build environment for the USRP-E3x0...
- Vivado: Found (/opt/Xilinx/Vivado/2015.4/bin)
- Vivado HLS: Found (/opt/Xilinx/Vivado_HLS/2015.4/bin)

Environment successfully initialized.
make -f Makefile.e300.inc bin NAME=E310_RFNOC_sg3 ARCH=zynq 
PART_ID=xc7z020/clg484/-3 RFNOC=1 E310=1 EXTRA_DEFS="RFNOC=1 E310=1"
make[1]: Entering directory '/home/spade/rfnoc/src/uhd-fpga/usrp3/top/e300'
BUILDER: Checking tools...
* GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
* Python 2.7.12
* Vivado v2015.4 (64-bit)

BUILDER: Building IP axi_fft

BUILDER: Staging IP in build directory...
BUILDER: Reserving IP location: 
/home/spade/rfnoc/src/uhd-fpga/usrp3/top/e300/build-ip/xc7z020clg484-3/axi_fft
BUILDER: Retargeting IP to part zynq/xc7z020/clg484/-3...
BUILDER: Building IP...

** Vivado v2015.4 (64-bit)
   SW Build 1412921 on Wed Nov 18 09:44:32 MST 2015
   IP Build 1412160 on Tue Nov 17 13:47:24 MST 2015
** Copyright 1986-2015 Xilinx, Inc. All Rights Reserved.

source /home/spade/rfnoc/src/uhd-fpga/usrp3/tools/scripts/viv_generate_ip.tcl
# set xci_file $::env(XCI_FILE)   ;
# set part_name$::env(PART_NAME)  ;
# set gen_example_proj $::env(GEN_EXAMPLE);
# set synth_ip $::env(SYNTH_IP)   ;
# set ip_name [file rootname [file tail $xci_file]]   ;
# file delete -force "$xci_file.out"
# create_project -part $part_name -in_memory -ip
# set_property target_simulator XSim [current_project]
# add_files -norecurse -force $xci_file
INFO: [IP_Flow 19-234] Refreshing IP repositories
INFO: [IP_Flow 19-1704] No user IP repositories specified
INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 
'/opt/Xilinx/Vivado/2015.4/data/ip'.
# reset_target all [get_files $xci_file]
# puts "BUILDER: Generating IP Target..."
BUILDER: Generating IP Target...
# generate_target all [get_files $xci_file]
INFO: [IP_Flow 19-1686] Generating 'Instantiation Template' target for IP 
'axi_fft'...
INFO: [IP_Flow 19-1686] Generating 'Synthesis' target for IP 'axi_fft'...
INFO: [Device 21-403] Loading part xc7z020clg484-3
INFO: [IP_Flow 19-1686] Generating 'Simulation' target for IP 'axi_fft'...
INFO: [IP_Flow 19-1686] Generating 'C Simulation' target for IP 'axi_fft'...
INFO: [IP_Flow 19-1686] Generating 'Test Bench' target for IP 'axi_fft'...
INFO: [IP_Flow 19-1686] Generating 'Change Log' target for IP 'axi_fft'...
generate_target: Time (s): cpu = 00:00:06 ; elapsed = 00:00:08 . Memory (MB): 
peak = 1134.184 ; gain = 162.906 ; free physical = 1258 ; free virtual = 6661
# if [string match $synth_ip "1"] {
# puts "BUILDER: Synthesizing IP Target..."
# synth_ip [get_ips $ip_name]
# }
BUILDER: Synthesizing IP Target...
INFO: [IP_Flow 19-234] Refreshing IP repositories
INFO: [IP_Flow 19-1704] No user IP repositories specified
INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 
'/opt/Xilinx/Vivado/2015.4/data/ip'.
Command: synth_design -top axi_fft -part xc7z020clg484-3 -mode out_of_context
Starting synth_design
Attempting to get a license for feature 'Synthesis' and/or device 'xc7z020'
WARNING: [Common 17-348] Failed to get the license for feature 'Synthesis' 
and/or device 'xc7z020'
1 Infos, 1 Warnings, 0 Critical Warnings and 1 Errors encountered.
synth_design failed
ERROR: [Common 17-345] A valid license was not found for feature 'Synthesis' 
and/or device 'xc7z020'. Please run the Vivado License Manager for assistance 
in determining
which features and devices are licensed for your system.
Resolution: Check the status of your licenses in the Vivado License Manager. 
For debug help search Xilinx Support for "Licensing FAQ". 
ERROR: [Common 17-53] User Exception: No open design. Please open an 
elaborated, synthesized or implemented design before executing this command.
ERROR: [Common 17-53] User Exception: No open design. Please open an 
elaborated, synthesized or implemented design before executing this command.
ERROR: [Common 17-53] User Exception: 

[USRP-users] Using a reference clock on USRP E310/312

2017-07-25 Thread Cho, Daniel J (332C) via USRP-users
Hello -

I have 2 USRPs (both E310/E312) which I want to sync up using an external 
clock.  I read that the embedded series cannot take in a 10MHz reference clock 
but can take in a 1PPS.  I generated a 1 PPS signal using a signal generator 
and using a power splitter, I sent the 1PPS signal to both USRPs via the sync 
port on the USRPs.  When I try to run an example programs (rx_samples_to_file 
on one USRP and tx_samples_from_file on the other USRP) using the ref argument, 
it says that the ref argument is not supported.   How can I sync up the two 
USRPs?

Thanks
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


[USRP-users] Issues with dual full duplex on x310

2017-07-25 Thread Michael Carosino via USRP-users
Hi,

I'm using gnuradio 3.7.12 and rfnoc-devel commit 1908672.

I'm trying to use both daughter boards on the x310 each at full duplex
(that is, I will have 2 independent tx paths and 2 independent rx paths).
So far I have accomplished this by using the UHD: USRP Sink/Source blocks
and setting them to 2 channels, selecting the appropriate antennas, and
specifying a subdev spec of A:0 B:0. The flowgraph works perfectly sending
and receiving 2 sets of data simultaneously.

However, I need to have the same capability when using the RFNoC blocks.
I've attempted to use 2 RFNoC radio blocks, one set to Tx, 2 channels, and
the other set to Rx, 2 channels, however the block's parameters have only a
radio select of A or B unlike the usrp source's subdev spec, so this setup
does not appear to work no matter what configurations I try. Am I mistaken
about what the 2 channels refers to here?

I did finally get an RFNoC setup that works by using 4 RFNoC radio blocks
(2 for transmit with radio select A, B respectively, and 2 for receive with
radio select A, B respectively). However, with this setup I get tons of
underflow "U" in the console. Curiously this happens even when using the
DMAFIFO as ettus recommends so I'm not sure what's going on. My flowgraph
is attached showing this setup.

(A quick note on why I want to use the rfnoc blocks, apparently the uhd
usrp sink block now automatically includes a DMAFIFO in the tx chain to
deal with the underflow issue caused by tcp flow control, however for my
application the depth/size of this fifo is much too large and causing
massive delays, I've found that by reducing the depth I can minimize my
delay and I'll only get underflows on flowgraph startup which I assume is
due to the tcp slow start phase before backoff occurs. All this to say, if
there is a way to adjust the dma fifo depth from the usrp sink blocks I'd
gladly use that instead).


Thanks,
Mike


test_dual_fullduplex_x310.grc
Description: Binary data
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


Re: [USRP-users] X300 recovery after LATE_COMMAND or OVERFLOW_ERROR

2017-07-25 Thread Michael West via USRP-users
Hi Martin,

Without seeing some source code, it is difficult to say exactly what is
going on.  The ERROR_CODE_LATE_COMMAND means that the radio block in the
FPGA received a command late.  An ERROR_CODE_OVERFLOW with the
out_of_sequence flag set is alarming and means that packets are getting
dropped somewhere.  Make sure you have the number of RX buffers set to max
(i.e. sudo ethtool  -G rx 4096).  An ERROR_CODE_OVERFLOW without
the out_of_sequence flag set most likely means there is too much of a delay
before a recv() call somewhere in your code.  The "failure to align" error
is the UHD code attempting and failing to re-align the data streams.  When
an overflow occurs, UHD will stop the streams and re-issue stream commands
to try to realign the data.  Data is discarded until packets with the same
timestamp on all streams are seen.

It sounds to me like occasionally the application is falling behind and the
recovery attempts are having issues due to dropped packets.

We did some testing with the X710 and found that it is possible to overrun
the socket buffer because the driver for the X710 seems to use up the full
MTU size in the socket buffer regardless of the actual packet size.  This
potentially leads to dropped packets.  You can try increasing the socket
buffer size using the recv_buff_size parameter (i.e. set to 50 MB) in the
device arguments, but that will not make a difference if there is a delay
before the recv() call somewhere in the application that allows the socket
buffer to fill up.

Regards,
Michael

On Tue, Jul 25, 2017 at 12:22 PM, Martin Guski via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Hi!
>
> We are using 8 X300s which are each connected to a computer via dedicated
> 10 GigE ports. Our application is transmitting and receiving for bursts of
> 1 second (@10 Msps) on both slots of the USRP. After that we process the
> data, transmit/receive again, and so on.
>
> After running without errors for some time (a few hour), the rx_streamer
> returns errors for the next four bursts in the following pattern:
>
> 1) ERROR_CODE_LATE_COMMAND
> 2) ERROR_CODE_LATE_COMMAND
> 3) ERROR_CODE_OVERFLOW
> 4) ERROR_CODE_TIMEOUT
>
> And after that it usually continues running without problems for about 20
> - 60 min before it happens again. All 8 USRPs report the errors at the same
> time. (Each USRP is controlled by a separate multi_usrp running in a
> dedicated process..)
> I took a closer look when I start the streaming: The first LATE_COMMAND is
> really to late (time of preparation of the stream varies  ). The following
> command if definitely not to late, but nevertheless the LATE_ERROR is
> raised.
>
> Sometimes one USRP doesn't recover after returning the ERROR_CODE_TIMEOUT
> error and reports LATE_COMMAND and OVERFLOW_ERRORS (with and without
> out_of_sequence flag) for all following transmissions. After restarting the
> usrp program everything works again.
>
> And from time to time I also get this error:
>
>> UHD Error:
>> The receive packet handler failed to time-align packets.
>> 1002 received packets were processed by the handler.
>> However, a timestamp match could not be determined.
>
>
> So my question is: Is there a way to recover the USRP or the steamer after
> I detect an extended sequence of LATE_COMMAND and OVERFLOW_ERRORS?
>
>
> Thanks
> Martin
>
> *Maybe some interesting further information:*
> - The error only occurs when using both slots of the USRP, for one side
> everything works.
> - Reducing the sampling rate to 5 Msps doesn't help
> - The ERROR_CODE_TIMEOUT is new for the new UHD3.9.7 release and it looks
> like this resets the USRP sometimes.
> - For the older versions of UHD 3.9 it never recovered form the first
> occurring error.
> - For UHD3.10 (maint branch) after ( I guess) the first error occurred the
> driver process had a CPU usage of 200 % until the process was killed. Also
> there were underflows for nearly each transmission (when using both
> sides/channels and 10 Msps).
>
>
> *More information about our setup:*
>
> Ubuntu 16.04.1 LTS
> UHD_003.009.007 release
>
> X300
> - Hardware Versions 5, 6
> Frontends: 2x LFRX and 2x LFTX2x
>
> Intel i7 (i7-5930K @3.50GHz, 6 Cores / 12 threads), 12 GB Ram
> - disabled CPU power management
>
> Network: Intel X710 for 10GbE SFP+ (quad-port)
> Each X300 (port1) connected directly to NIC port, all have separate
> netmasks
> - MTU set to 9000
> - increase the maximum size of the socket buffers
> - Flow Control disabled for rx and tx
> - ifconfig shows 0 errors, dropped packets or overruns
>
>
> ___
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


[USRP-users] X300 recovery after LATE_COMMAND or OVERFLOW_ERROR

2017-07-25 Thread Martin Guski via USRP-users
Hi!

We are using 8 X300s which are each connected to a computer via dedicated
10 GigE ports. Our application is transmitting and receiving for bursts of
1 second (@10 Msps) on both slots of the USRP. After that we process the
data, transmit/receive again, and so on.

After running without errors for some time (a few hour), the rx_streamer
returns errors for the next four bursts in the following pattern:

1) ERROR_CODE_LATE_COMMAND
2) ERROR_CODE_LATE_COMMAND
3) ERROR_CODE_OVERFLOW
4) ERROR_CODE_TIMEOUT

And after that it usually continues running without problems for about 20 -
60 min before it happens again. All 8 USRPs report the errors at the same
time. (Each USRP is controlled by a separate multi_usrp running in a
dedicated process..)
I took a closer look when I start the streaming: The first LATE_COMMAND is
really to late (time of preparation of the stream varies  ). The following
command if definitely not to late, but nevertheless the LATE_ERROR is
raised.

Sometimes one USRP doesn't recover after returning the ERROR_CODE_TIMEOUT
error and reports LATE_COMMAND and OVERFLOW_ERRORS (with and without
out_of_sequence flag) for all following transmissions. After restarting the
usrp program everything works again.

And from time to time I also get this error:

> UHD Error:
> The receive packet handler failed to time-align packets.
> 1002 received packets were processed by the handler.
> However, a timestamp match could not be determined.


So my question is: Is there a way to recover the USRP or the steamer after
I detect an extended sequence of LATE_COMMAND and OVERFLOW_ERRORS?


Thanks
Martin

*Maybe some interesting further information:*
- The error only occurs when using both slots of the USRP, for one side
everything works.
- Reducing the sampling rate to 5 Msps doesn't help
- The ERROR_CODE_TIMEOUT is new for the new UHD3.9.7 release and it looks
like this resets the USRP sometimes.
- For the older versions of UHD 3.9 it never recovered form the first
occurring error.
- For UHD3.10 (maint branch) after ( I guess) the first error occurred the
driver process had a CPU usage of 200 % until the process was killed. Also
there were underflows for nearly each transmission (when using both
sides/channels and 10 Msps).


*More information about our setup:*

Ubuntu 16.04.1 LTS
UHD_003.009.007 release

X300
- Hardware Versions 5, 6
Frontends: 2x LFRX and 2x LFTX2x

Intel i7 (i7-5930K @3.50GHz, 6 Cores / 12 threads), 12 GB Ram
- disabled CPU power management

Network: Intel X710 for 10GbE SFP+ (quad-port)
Each X300 (port1) connected directly to NIC port, all have separate netmasks
- MTU set to 9000
- increase the maximum size of the socket buffers
- Flow Control disabled for rx and tx
- ifconfig shows 0 errors, dropped packets or overruns
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


Re: [USRP-users] E310 rx_samples_from_file stores data based on sample rate and not Bandwidth

2017-07-25 Thread Marcus D. Leech via USRP-users

On 07/25/2017 08:43 AM, olivani via USRP-users wrote:


Hi ,

Let me first describe my application


I have to collected data (type short, wirefmt sc16) at a particular 
center frequency at a sampling rate of 25 Msps and set the bandwidth 
to be 20 MHz and the master clock is set to be 25 MHz. I have a custom 
fpga to detect the presence of unwanted signal within the 20 MHz bw of 
data collected .


I am using rx_samples_to_file script to collect data . I assume that 
when I plot the data ,, any tone below -10MHz and beyond +10 MHz 
should be discarded.


But when I used the script ./rx_samples_to_file I noticed that the 
data collected is equal to the sample rate specified and when plotted 
using pwelch function with bin size 512  I still see the tone after 20 
MHz bw.


/usr/lib/uhd/examples/rx_samples_to_file --file /dev/test_5bw_20msps_1 
--subdev A:A --args="type=e3x0,master_clock_rate=25e6"   --bw 20e6 
--freq 110e6 --rate 25e6 --duration 1  --stats


as per input parameter specified above I set the centre frequency at 
110 MHz and have injected a tone at 122.5 MHz and set the BW to be 20 
MHz. I assumed the tone should not be visible , but unfortunately it 
does.


This may lead to faulty detection in my application.

1. I added debug statements to see if at all the bw setting  code is 
executed and it does.
2. I varied the bandwidth to be 5 MHz and I am able to see the roll 
off and also the tone.


Please find the plot below for the above input command

Inline image 1

Now setting the bandwidth to 5 MHz for verification purposeInline image 2


The code snippet used to plot the data in matlab as follows

binary_file = 
'\\fargo\projects\wls\staging\subbuku-o\test_5bw_20msps_1';%./rx_samples_to_file 
--file /dev/test_5bw_20msps_2 --subdev A:B 
--args="type=e3x0,master_clock_rate=50e6" --bw 20e6 --freq 110e6 
--rate 25e6 --duration 1 --stats


if~exist('plotOn', 'var') || isempty(plotOn)

plotOn = 1;

end

if~exist('power_dbm', 'var') || isempty(power_dbm)

power_dbm = -100;

end

fid = fopen(binary_file,'r');

%A = fread(fid,inf,'bit16','ieee-le');

if~exist('wordWidth','var') || isempty(wordWidth)

% default to 16 bits...

A = fread(fid,inf,'bit16','ieee-le');

else

% extract according to word desired word width

width = ['bit',num2str(wordWidth)];

A = fread(fid,inf,width,'ieee-le');

end

%A = fread(fid,inf,'bit16','ieee-le');

%A = fread(fid,inf,'float32');

%parse the entire binary file

%A = fread(fid);

fclose(fid);

%A = A(1:2*4096);

I = A(1:2:end);

%figure; plot(I,'b-'); %-->counter test

Q = A(2:2:end);

if0

figure;

mag = 20*log10(abs(I));

plot(faxis,mag(1:N));

end

complex_sig = I + 1i*Q;

%complex_sig = transpose(complex_sig);

%fs = 1024e3;%512e3; %1024kHz for 4x and 8x; 768kHz, 512kHz and 256kHz 
for 6x, 2x and 1x


%fs = 512e3;

%fs = 256e3;

%fs = 7.68e6;

%fs = 15.36e6;

%fs = 7.68e6;

fs =25e6;

%[Pxx,F] = 
pwelch(complex_sig(1:4096*15),4096,[],[],fs,'centered');%%4x and 8x


%[Pxx,F] = pwelch(complex_sig(1:end),[],[],fs,'centered');%%4x and 8x

[Pxx,F] = pwelch(complex_sig(1:end),512,[],[],fs,'centered');%%4x and 8x

ifplotOn

figure; plot(F,10*log10((Pxx)),'b-'); grid on

title(binary_file)

ifexist('title_str','var')

if~isempty(title_str)

title(title_str)

end

end

end



Please let me know if it is possible to resolve the issue to 
eliminating the tone beyond 20 MHz bandwidth for 25 Msps sampling rate 
. I know with bandwidth and sample rate being pretty close it might 
not be possible to eliminate the tone or there might be aliasing 
effect . I did increase the master clock but the highest I could go is 
50 MHz. I need 25 Msps sample rate and cannot change that.






Thanks and Regards,
Olivani


If you're only using a single channel, then you might try increasing the 
master clock rate to 50MHz, which will give the digital filtering more 
"head room"

  to work.



___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


[USRP-users] E310 rx_samples_from_file stores data based on sample rate and not Bandwidth

2017-07-25 Thread olivani via USRP-users
Hi ,

Let me first describe my application


I have to collected data (type short, wirefmt sc16) at a particular center
frequency at a sampling rate of 25 Msps and set the bandwidth to be 20 MHz
and the master clock is set to be 25 MHz. I have a custom fpga to detect
the presence of unwanted signal within the 20 MHz bw of data collected .

I am using rx_samples_to_file script to collect data . I assume that when I
plot the data ,, any tone below -10MHz and beyond +10 MHz should be
discarded.

But when I used the script ./rx_samples_to_file I noticed that the data
collected is equal to the sample rate specified and when plotted using
pwelch function with bin size 512  I still see the tone after 20 MHz bw.

/usr/lib/uhd/examples/rx_samples_to_file --file /dev/test_5bw_20msps_1
--subdev A:A --args="type=e3x0,master_clock_rate=25e6"   --bw 20e6 --freq
110e6 --rate 25e6 --duration 1  --stats

as per input parameter specified above I set the centre frequency at 110
MHz and have injected a tone at 122.5 MHz and set the BW to be 20 MHz. I
assumed the tone should not be visible , but unfortunately it does.

This may lead to faulty detection in my application.

1. I added debug statements to see if at all the bw setting  code is
executed and it does.
2. I varied the bandwidth to be 5 MHz and I am able to see the roll off and
also the tone.

Please find the plot below for the above input command

[image: Inline image 1]

Now setting the bandwidth to 5 MHz for verification purpose[image: Inline
image 2]


The code snippet used to plot the data in matlab as follows

binary_file = 
'\\fargo\projects\wls\staging\subbuku-o\test_5bw_20msps_1';%./rx_samples_to_file
--file /dev/test_5bw_20msps_2 --subdev A:B
--args="type=e3x0,master_clock_rate=50e6"
--bw 20e6 --freq 110e6 --rate 25e6 --duration 1 --stats

if ~exist('plotOn', 'var') || isempty(plotOn)

plotOn = 1;

end

if ~exist('power_dbm', 'var') || isempty(power_dbm)

power_dbm = -100;

end

fid = fopen(binary_file,'r');

%A = fread(fid,inf,'bit16','ieee-le');

if ~exist('wordWidth','var') || isempty(wordWidth)

% default to 16 bits...

A = fread(fid,inf,'bit16','ieee-le');

else

% extract according to word desired word width

width = ['bit',num2str(wordWidth)];

A = fread(fid,inf,width,'ieee-le');

end

%A = fread(fid,inf,'bit16','ieee-le');

%A = fread(fid,inf,'float32');

%parse the entire binary file

%A = fread(fid);

fclose(fid);

%A = A(1:2*4096);

I = A(1:2:end);

%figure; plot(I,'b-'); %-->counter test

Q = A(2:2:end);

if 0

figure;

mag = 20*log10(abs(I));

plot(faxis,mag(1:N));

end

complex_sig = I + 1i*Q;

%complex_sig = transpose(complex_sig);

%fs = 1024e3;%512e3; %1024kHz for 4x and 8x; 768kHz, 512kHz and 256kHz for
6x, 2x and 1x

%fs = 512e3;

%fs = 256e3;

%fs = 7.68e6;

%fs = 15.36e6;

%fs = 7.68e6;

fs =25e6;

%[Pxx,F] = pwelch(complex_sig(1:4096*15),4096,[],[],fs,'centered');%%4x and
8x

%[Pxx,F] = pwelch(complex_sig(1:end),[],[],fs,'centered');%%4x and 8x

[Pxx,F] = pwelch(complex_sig(1:end),512,[],[],fs,'centered');%%4x and 8x

if plotOn

figure; plot(F,10*log10((Pxx)),'b-'); grid on

title(binary_file)

if exist('title_str','var')

if ~isempty(title_str)

title(title_str)

end

end

end


Please let me know if it is possible to resolve the issue to eliminating
the tone beyond 20 MHz bandwidth for 25 Msps sampling rate . I know with
bandwidth and sample rate being pretty close it might not be possible to
eliminate the tone or there might be aliasing effect . I did increase the
master clock but the highest I could go is 50 MHz. I need 25 Msps sample
rate and cannot change that.





Thanks and Regards,
Olivani
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com