Thank you for your explanation. So is there any kind of solution for my
problem with GNU Radio?

Thanks in advance.
Regards,
Anabel

El mié, 27 oct 2021 a las 17:48, Marcus D. Leech (<patchvonbr...@gmail.com>)
escribió:

> On 2021-10-27 11:37, Anabel Almodovar wrote:
>
> Hello,
>
> When I run a benchmark_rate example it indicates that there are no sample
> losses even with 30s of acquisition.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *rack_2021@rack-HP-Z4-G4-Workstation:~/workarea-uhd/uhd/host/examples/build$
> sudo ./benchmark_rate
> --args="addr=192.168.40.2,second_addr=192.168.30.2,recv_buff_size=900000000"
> --channels="0,1" --rx_rate 200e6 --duration 30 --rx_subdev="A:0 B:0" [INFO]
> [UHD] linux; GNU C++ version 9.3.0; Boost_107100;
> UHD_4.1.0.HEAD-0-gd21735d5 [00:00:00.000677] Creating the usrp device with:
> addr=192.168.40.2,second_addr=192.168.30.2,recv_buff_size=900000000...
> [INFO] [X300] X300 initialization sequence... [INFO] [X300] Maximum frame
> size: 8000 bytes. [INFO] [X300] Maximum frame size: 8000 bytes. [INFO]
> [X300] Radio 1x clock: 200 MHz Using Device: Single USRP:   Device:
> X-Series Device   Mboard 0: X310   RX Channel: 0     RX DSP: 0     RX
> Dboard: A     RX Subdev: UBX RX   RX Channel: 1     RX DSP: 1     RX
> Dboard: B     RX Subdev: UBX RX   TX Channel: 0     TX DSP: 0     TX
> Dboard: A     TX Subdev: UBX TX   TX Channel: 1     TX DSP: 1     TX
> Dboard: B     TX Subdev: UBX TX [00:00:02.923799498] Setting device
> timestamp to 0... [INFO] [MULTI_USRP]     1) catch time transition at pps
> edge [INFO] [MULTI_USRP]     2) set times next pps (synchronously)
> [WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping. [WARNING]
> [0/Radio#1] Attempting to set tick rate to 0. Skipping.
> [00:00:04.262875535] Testing receive rate 200.000000 Msps on 2 channels
> [00:00:34.313774651] Benchmark complete. Benchmark rate summary:   Num
> received samples:     12000000380   Num dropped samples:      0   Num
> overruns detected:    0   Num transmitted samples:  0   Num sequence errors
> (Tx): 0   Num sequence errors (Rx): 0   Num underruns detected:   0   Num
> late commands:        0   Num timeouts (Tx):        0   Num timeouts (Rx):
>        0 Done!*
>
> However, when I run rx_samples_to_file I get overflows from 8 sec for a
> single receiving channel.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *sudo ./rx_samples_to_file
>  --file="/home/rack_2021/Escritorio/pruebas_codigos_agosto/usrp_samples.dat"
> --duration 8
> --args="addr=192.168.40.2,second_addr=192.168.30.2,recv_buff_size=900000000"
> --channel="0" --subdev="A:0" --rate 200e6 --bw 200e6 --gain 5 --freq 800e6
> Creating the usrp device with:
> addr=192.168.40.2,second_addr=192.168.30.2,recv_buff_size=900000000...
> [INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100;
> UHD_4.1.0.HEAD-0-gd21735d5 [INFO] [X300] X300 initialization sequence...
> [INFO] [X300] Maximum frame size: 8000 bytes. [INFO] [X300] Maximum frame
> size: 8000 bytes. [INFO] [X300] Radio 1x clock: 200 MHz Using Device:
> Single USRP:   Device: X-Series Device   Mboard 0: X310   RX Channel: 0
> RX DSP: 0     RX Dboard: A     RX Subdev: UBX RX   TX Channel: 0     TX
> DSP: 0     TX Dboard: A     TX Subdev: UBX TX   TX Channel: 1     TX DSP: 1
>     TX Dboard: B     TX Subdev: UBX TX Setting RX Rate: 200.000000 Msps...
> Actual RX Rate: 200.000000 Msps... Setting RX Freq: 800.000000 MHz...
> Setting RX LO Offset: 0.000000 MHz... Actual RX Freq: 800.000000 MHz...
> Setting RX Gain: 5.000000 dB... Actual RX Gain: 5.000000 dB... Setting RX
> Bandwidth: 200.000000 MHz... Actual RX Bandwidth: 200.000000 MHz... Waiting
> for "lo_locked": ++++++++++ locked. Press Ctrl + C to stop streaming... O
> Done!*
>
> I am using a native Ubuntu, not a VM and I have the CPU governor set to
> "performance".
>
> I have managed to patch the code that worked for me before updating the
> system to the new versions of Ubuntu and UHD, so I ask for more samples
> than I want since I have observed that the recv () reception buffer is not
> always constant and it does not always acquire the maximum number of
> samples as I request (1996 samples), at least not at the beginning. But I
> would like to know the cause of this so that I can fix it and why GNU Radio
> keeps giving me the same error.
>
> Thanks in advance.
> Regards,
> Anabel
>
> The recv() call doesn't necessarily guarantee that you'll get all the
> samples you asked for in that call, as far as I know. It isn't surprising
> that there would be slight differences
>   in behavior across different versions of UHD and OS versions in this
> regard.  You always have to be prepared to receive fewer samples than you
> asked for.
>
> If Gnu Radio applications are producing overruns, that is firmly in the
> territory of Gnu Radio, and NOT UHD.   Clearly, on your machine, UHD is
> able to sustain 200e6 SPS.
>   But as you add layers of application processing, the system is more
> heavily loaded.  Gnu Radio actually "does things" with the samples, which
> means the
>   instructions-per-sample is MUCH higher than your simple
> rx_samples_to_file test.
>
>
>
_______________________________________________
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