RE: Question on dropped samples

2023-04-05 Thread Jim Melton
See 
https://github.com/CyberRadio/gr-cyberradio/blob/maint-3.10_timestamp_check/gr-CyberRadio/lib/vita_udp_rx_impl.cc
 for a different radio. It's a similar concept; packets are tagged with a 
rolling 1-nibble counter. The block is written such that it is 
guaranteed<https://github.com/CyberRadio/gr-cyberradio/blob/maint-3.10_timestamp_check/gr-CyberRadio/lib/vita_udp_rx_impl.cc#L196>
 that it can provide at least one full packet (1024 samples) whenever it is 
called. The packet counter is 
checked<https://github.com/CyberRadio/gr-cyberradio/blob/maint-3.10_timestamp_check/gr-CyberRadio/lib/vita_udp_rx_impl.cc#L196>
 for sequential increment; if one or more dropped packets is detected, it 
produces<https://github.com/CyberRadio/gr-cyberradio/blob/maint-3.10_timestamp_check/gr-CyberRadio/lib/vita_udp_rx_impl.cc#L333>
 null bytes in their place.

This works because this interface has a fixed packet size. It's harder if your 
block does not.
---
Jim Melton



Sent: Wednesday, April 5, 2023 16:40
To: GNURadio Mailing List 
Subject: [EXTERNAL] Question on dropped samples

I was working on a block that I thought was going to be super simple, but have 
now realized that there are a lot of little corner cases that make it tougher 
than first glance.

Basically, I want to fill in the dropped samples in a stream. So if I happen to 
have a usrp stream and get a new tag, and I realize that 6 samples were lost, I 
would like to stuff 6 dummy samples into place, and adjust the downstream tags 
accordingly.

It isn't "hard", but knowing that you have x samples in your work function, 
that you have y samples dropped, stuffing those in, but making sure that you 
don't put more samples than noutput can handle, and then adjusting all future 
tags accordingly starts to become a lesson in records management.

Does anyone know of something out there that already does this? Or maybe how I 
am way overcomplicating it.

CONFIDENTIALITY NOTICE - SNC EMAIL: This email and any attachments are 
confidential, may contain proprietary, protected, or export controlled 
information, and are intended for the use of the intended recipients only. Any 
review, reliance, distribution, disclosure, or forwarding of this email and/or 
attachments outside of Sierra Nevada Corporation (SNC) without express written 
approval of the sender, except to the extent required to further properly 
approved SNC business purposes, is strictly prohibited. If you are not the 
intended recipient of this email, please notify the sender immediately, and 
delete all copies without reading, printing, or saving in any manner. --- Thank 
You.


Question on dropped samples

2023-04-05 Thread Jason Matusiak
I was working on a block that I thought was going to be super simple, but have 
now realized that there are a lot of little corner cases that make it tougher 
than first glance.

Basically, I want to fill in the dropped samples in a stream. So if I happen to 
have a usrp stream and get a new tag, and I realize that 6 samples were lost, I 
would like to stuff 6 dummy samples into place, and adjust the downstream tags 
accordingly.

It isn't "hard", but knowing that you have x samples in your work function, 
that you have y samples dropped, stuffing those in, but making sure that you 
don't put more samples than noutput can handle, and then adjusting all future 
tags accordingly starts to become a lesson in records management.

Does anyone know of something out there that already does this? Or maybe how I 
am way overcomplicating it.