On Wed, Mar 30, 2011 at 2:12 AM,
<address@hidden> wrote:
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
Perhaps you are in a particularly bad multipath environment? Although I agree that changing the power should have more than a tenth of a dB effect on the SNR. Have you tried turning it down? Or really, can your plot the spectrum at the receiver and verify that the power is actually changing?
Also, the SNR estimator in gr_probe_mpsk_snr_c is not the most robust estimator at low SNR. It gets biased when calculating the mean by any samples over the decision boundaries with the effect of having an "irreducible" SNR (that's not really the right word for it, but I'm relating it to being the opposite of an irreducible BER in multipath channels). But I think this point is around 3 - 4 dB, but it's been a while since I've looked at it.
This reminds me that I have three other SNR estimators that do an excellent job at low SNR (theoretically, in the mythical AWGN channels) that I really need to put into GNU Radio. They are increasingly better at their estimates at the expense of computational complexity (e.g., one uses the skewness while another uses the kurtosis).
Tom