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
power. I recorded the estimated snr and ber and I’m trying to plot them
verify things are working properly. Is the SNR estimation done at
or passband? When I plot the theoretical BPSK snr vs. ber curve, there’s
significant offset between my experimental data and theoretical plot
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 <
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
clear to me over what packet size the BER is calculated and what the
BER confidence value should be.

Thanks for any help that can be offered.

Here’s an image of the BER vs. SNR plot plotted along with the
BPSK line. can see that
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 “” and “” code with default
settings. Carrier is 5e6 hz and rate is 1e6 symbol/sec. Decimation at
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?

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 - does water qualify as such?


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
the realtime snr estimation, timing recovery, etc. For other experiments
I’ve done, using a ML snr estimator and offline timing recovery, we can
nearly perfect agreement with theoretical curves, so I really wasn’t
what to expect from this setup.

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

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs