[USRP-users] Using a Trigger Event to Process Subset of Samples in the Data Stream

Mark Gannet mgannet at gmail.com
Wed Feb 6 11:54:02 EST 2019


Sorry for the delay.  So I have a modified USRP FPGA load, modified UHD,
and modified gr-usrp block that inserts the digital data (e.g. trigger) on
the gpio on the Rx daughterboard into the channel A stream.  It inserts it
into the low order byte of the Q (imag) 2-byte short.

Please see attachment for a look at how I use it to trigger a scope sink.
The flowgraph shows a Wx widget but only because the machine I'm on right
now does have Qt widgets installed.  Normally I'd use the Qt scope sink
with trigger on the first channel and received power on the 2nd channel.
I'm just masking bits all other bits other than the first bit of the imag
word and using it to trigger the scope.

My thought is that I could customize the RMS measurement block to only
provide an output when triggered with this input instead of continuously
providing output.  The RMS alpha value could be set sufficiently high to
weight heavily only the most recent samples.  Could I then use a UDP sink
to send this data out?  In terms of timing, this trigger event will occur
around 150-400 times per second. Does this sound like a viable solution?
Though I know it can be done, I really don't want to get back into doing
this on the FPGA.

Thank you,

On Wed, Jan 23, 2019 at 5:08 PM Marcus D. Leech via USRP-users <
usrp-users at lists.ettus.com> wrote:

> On 01/23/2019 12:12 PM, Mark Gannet via USRP-users wrote:
> > Hello,
> >
> > I'm using a channel on an x310 to sample the analog receiver on a
> > radar system and store the data continuously on a host PC running
> > CentOS 7.  The other channel on the x310 is used to collect timing
> > signals (like a transmit trigger signal) via the GPIO header on a
> > basic Rx daughterboard (with a modified FPGA load)
> >
> > I'd like to delay a fixed amount of time (say 2 ms) from the trigger
> > signal on the GPIO to process a subset (about 100 us) of the receive
> > signal and calculate RMS power during that interval.  I'd like to do
> > this on the Host PC and stream out the result as a UDP message.
> >
> > My question is this:  What is my best bet in manipulating the data
> > stream from the USRP block so that I can calculate the RMS power in
> > that window of time delayed from the trigger?  Stream to vector?
> > Signal probe vector (I've read these are slow)?  ZeroMQ?
> >
> > Thanks,
> > Mark
> >
> How will Gnu Radio know when you have received a trigger?  Is the sample
> stream tagged in some way?
> You'll likely end up having to write a custom block.
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20190206/697117d7/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gr_trigger.png
Type: image/png
Size: 51797 bytes
Desc: not available
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20190206/697117d7/attachment.png>

More information about the USRP-users mailing list