Questions on SNR estimation from digital-bert examples

Newbie here. I have some questions regarding the example programs under
gnuradio-examples/python/digital-bert. I just ran a link and swept my
signal
power. I recorded the estimated snr and ber and I’m trying to plot them
and
verify things are working properly. Is the SNR estimation done at
baseband
or passband? When I plot the theoretical BPSK snr vs. ber curve, there’s
a
significant offset between my experimental data and theoretical plot
(and
yes, I’m ignoring SNR values below 7 dB). Also, a more basic question is
what is the best method to find documentation for the code? The class
documentation under the wiki seems rather overwhelming and I have a hard
time finding what I need.

My second question is how the BER is calculated? I’m seeing values <
1e-11.
But this is entirely unreasonable, as I’d have to be sending > 100 gb of
data to be getting a BER close to that value. Looking at the code, its
not
clear to me over what packet size the BER is calculated and what the
actual
BER confidence value should be.

Thanks for any help that can be offered.
-William

Here’s an image of the BER vs. SNR plot plotted along with the
theoretical
BPSK line.
Imgur

http://www.flickr.com/photos/gallamine/5580109538/You can see that
the
experimental data is 3-4 dB greater than the theoretical BPSK values.

My setup looks like:
GNURadio → USRP → LED → water → photodiode → USRP → GNURadio.

I’m using the “benchmark_tx.py” and “benchmark_rx.py” code with default
settings. Carrier is 5e6 hz and rate is 1e6 symbol/sec. Decimation at
the
receiver is 32.

Above 12 dB the BER values saturate down at 1.85e-11.

Any ideas why the experimental results are so far off theoretical?
Thanks.
-William

On Fri, Apr 1, 2011 at 7:07 PM, William C. [email protected] wrote:

Above 12 dB the BER values saturate down at 1.85e-11.
Any ideas why the experimental results are so far off theoretical?

Hi William,

What would you consider to be a reasonable deviation from the
theoretical value?
In my limited experience, 3-4 dB “implementation loss” is not that bad
when using hardware and software that haven’t been tuned and optimized
for the specific purpose.
Also note that you compare your results with the theoretical values
for transmission over an AWGN channel
Additive white Gaussian noise - Wikipedia - does water qualify as such?

Alex

Alex,
Yes, for what I’m doing, the optical link will be AWGN. I’m doing direct
detection (lots of photons) with a uncooled Si photodiode.

Thanks for the feedback. I have limited (none) experience with realtime
receivers so it’s hard for me to judge how much loss I’ll experience
from
the realtime snr estimation, timing recovery, etc. For other experiments
I’ve done, using a ML snr estimator and offline timing recovery, we can
get
nearly perfect agreement with theoretical curves, so I really wasn’t
sure
what to expect from this setup.

I was mostly checking to see if people would say, “woah somethings
wrong”,
or “that’s close enough”.
Thanks.
-William

PS. I’ve made good use of your gstreamer streaming video program. Very
helpful. Thanks!