Hi,
I am currently new to the GNU Radio project and are currently trying to
get the digital-bert scripts (gnuradio-examples) working with UHD (for
my USRP N210).
At the beginning I have swapped the existing USRP sinks in
‘benchmark_tx.py’ and ‘benchmark_rx.py’ with the code below.
Therefore I changed some command line arguments (ip…IP address of the
board, gain…Gain of the d’board).
def _setup_usrp(self, interp, freq, gain, ip):
# Setup single usrp sink
self._usrp = uhd.single_usrp_sink(
device_addr=“addr=”+ip,
io_type=uhd.io_type.COMPLEX_FLOAT32,
num_channels=1,
)
# Tune to center frequency
tr = self._usrp.set_center_freq(freq, 0)
if not (tr):
print "Failed to tune to center frequency!"
else:
print "Actual intermediate frequency:",
n2s(tr.actual_inter_freq)
# Set TX gain
self._usrp.set_gain(gain, 0)
print "Gain d'board:", n2s(self._usrp.get_gain()), "dB"
Afterward I executed the scripts and everything seems to work,
but the terminal output shows:
Freq. Offset: -945 Hz Timing Offset: 3.7 ppm Estimated SNR: 6.8 dB
BER: 0.182979
Freq. Offset: -1011 Hz Timing Offset: 4.0 ppm Estimated SNR: 6.8 dB
BER: 0.182914
Freq. Offset: -1102 Hz Timing Offset: 3.9 ppm Estimated SNR: 6.9 dB
BER: 0.18345
Freq. Offset: -3122 Hz Timing Offset: 3.5 ppm Estimated SNR: 7.0 dB
BER: 0.183047
Freq. Offset: -748 Hz Timing Offset: 3.5 ppm Estimated SNR: 6.9 dB
BER: 0.184062
So the SNR and BER are quite bad and the values aren’t changing, while
modifying the signal energie (amplitude) for transmition.
Does have anybody an explanation or hint for this behavior? Or are there
working scripts for UHD available?
Thanks,
Daniel