# SDR-Based BERT

**URL:** <https://www.ruby-forum.com/t/sdr-based-bert/235506>\
**Category:** GNU Radio\
**Created:** [June 26, 2013, 5:51am UTC](https://www.ruby-forum.com/t/sdr-based-bert/235506 "2013-06-26T05:51:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [June 26, 2013, 5:51am UTC](https://www.ruby-forum.com/t/sdr-based-bert/235506/1 "2013-06-26T05:51:39Z")

</div>

I often have to test hardware RXs and though I have a hardware BER test  
fixture, it’s kind of ancient and difficult to work with. I have  
fantasized about using a USRP to transmit a PRB (pseudo-random  
bit-sequence) to a RX modem. The data would then be brought back into  
GnuRadio and compared with the originally transmitted PRB to determine  
the  
actual BER.

To align the data, I figured I could correlate the sent code against the  
received data to determine any offset and align the data for comparison.  
The correlation should be pretty forgiving to bit errors if the right  
PRB  
is chosen, I think.

My question is: does anyone have additional thoughts about this? I  
don’t  
think that this sort of tool exists yet in GnuRadio. I have seen BER  
tools  
and even a nice BER block from Balint, but I think they all assume the  
data  
is already aligned. I imagine that Balint’s block could still be used  
if  
the alignment was done first. Am I missing any other tools out there?

As for getting the received data back into the flowgraph, I imagine that  
this might require a new source, like a synchronous serial port. I have  
used libmpsse to work with some of the MPSSE-enabled FTDI chips before.  
Maybe that could be implemented as a source block. My other thought  
was  
to use a LFTX board and bring in the clock and data as separate RX  
channels  
then proceed from there.

Thanks!

---

<div class="post-metadata">

**Author:** ![Dan\_CaJacob](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e68b1a/32.png) [@Dan\_CaJacob](https://www.ruby-forum.com/u/Dan_CaJacob)\
**Post date:** [June 27, 2013, 3:50am UTC](https://www.ruby-forum.com/t/sdr-based-bert/235506/2 "2013-06-27T03:50:19Z")

</div>

On Tue, Jun 25, 2013 at 11:50 PM, Dan CaJacob [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> use a LFTX board and bring in the clock and data as separate RX channels  
> then proceed from there.
> 
> Thanks!

Hey Dan,

That’s a good problem. My only recommendation at this point is the  
correlate\_and\_sync block that I’m working on for burst modems. Started  
it at our last hackfest. You can find the code on my github repo  
([GitHub - trondeau/gnuradio: GNU Radio · GitHub](https://github.com/trondeau/gnuradio.git)) in the ‘grhack13’ branch.  
It’s working in a very specific case but is close to working  
generically. It sounds close to what you want.

Tom
