Re: Bit error rate test

Thanks for your reply, Martin.

I can understand your point that the estimated SNR in the script
corresponds to ES/N0, which should be twice of Eb/N0 in the case of
qpsk.

You do raise a good question: why the BER is shown as 10^(-11)? I
rechecked
the script. The default bit rate is 250e3, which is far lower than the
required number to generate a BER at the level shown. The main function
associated with the BER is

Measure BER by the density of 0s in the stream

    self._ber = digital.probe_density_b(1.0/self._symbol_rate)

I haven’t checked the details of the above function, though. Anyone has
any
thoughts on this?

Henry

Date: Thu, 12 Dec 2013 09:26:48 +0100
From: “Martin B. (CEL)” [email protected]

On Wed, Dec 11, 2013 at 04:15:11PM -0700, Henry J. wrote:

I tried to use digital_bert_tx.py and digital_bert_rx.py to test the
BER
performance of different modulations. The command I use is
./digital_bert_tx.py
–tx-freq=5.1e9 --tx-gain=30 -S 8 --mod-code=gray -m bpsk. The
results
for BPSK
is good enough. When SNR is above 20, the BER is around 10^(-11).
However, when
I change the modulation to QPSK, the BER is only around 0.167
although
it says
SNR is still around 20. Surely there is something wrong. 16QAM has
the
same
problem. Just wonder if anyone has the same experience before. Am I
missing
something in order to correctly use the test script?
Henry,
I believe you’ve run into the famous ‘SNR’ trap[1], where you’re using
the wrong definition of SNR for your purposes.
I’d need to have a closer look at the blocks in question, but I believe
your estimate is actually the E_S/N_0 (it might be something within a
constant factor of this).
The relevant quantity for predicting BER is E_b/N_0. If you increase
the
modulation (BPSK -> QPSK -> QAM), you’re decreasing the latter (at
constant ‘SNR’). So, all is fine.
I’m a bit surprised about the actual values. If you’re measuring a BER
of 10**-11, that means you’re transmitting data on the order of 10**12
bits?
I’m not 100% familiar with digital_bert_tx.py, but this seems weird.
Note that there are formulas to derive the BER from EbN0. Remember they
apply to the AWGN channel only. If you have synchronisation,
equalization etc. BER will get worse.
So, .167 is more than the theory says, but you’d expect more anyway.
MB
[1] Well, don’t know if it’s famous. It’s a very common mistake,
though.

Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)
Dipl.-Ing. Martin B.
Research Associate
Kaiserstra?e 12
Building 05.01
76131 Karlsruhe
Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu
KIT – University of the State of Baden-W?rttemberg and
National Laboratory of the Helmholtz Association

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