Calculate BER


#1

Hello,

I want to calculate BER between 2 USRPs connected via coaxial cable. For
that reason my aim is to send bits and pick them in the receiver. Then,
in another application (not with GNUradio), calculate BER with both
sequences, the one sent and the one received.

In the transmitter I use the example benchmark_tx.py but changing some
things in the transmit_path:

    self.source = gr.vector_source_b(data,False) #data = 

(0,1,1,0,1,0…)

    # use the modulator dbpsk
    self.mod = blks2.dbpsk_mod()


    # Set the USRP for maximum transmit gain
    # (Note that on the RFX cards this is a nop.)
    self.set_gain(self.subdev.gain_range()[1])

    self.amp = gr.multiply_const_cc(1)
    self.set_tx_amplitude(self._tx_amplitude)


    # Create and setup transmit path flow graph
    self.connect(self.source, self.mod, self.amp, self.u)

So I just send bits without any packet format.

In the receiver, the receive_path is changed as:
self.sink = gr.vector_sink_b()
self.connect(self.u, self.demod, self.sink)

But the problem is how to get the data from self.sink. I have been
thinking of doing a thread that blocks when no data, runs when something
arrives to the USRP, and have everything in an infinitive loop. But I
dont really know how to do it… any suggestions??

Thank you so much,
Sergio.