Dear GNURadioers,
I am doing some experiment to calculate BER (Bit error rate) with
GNuradio
version 3.2.2 on Ubuntu 9.04. I run sender and receiver using two
programs
as follows:
-
Receiver:
./benchmark_rx.py -f 2.5G -d 128 -m dbpsk -
Sender:
./benchmark_tx.py -f 25G -i 256 -m dbpsk --from-file=foo.txt -c 10000
Note: I added an option to repeatedly send the same packet “c”
number
of times. So in this case, I send it 10000 times. -
My problem is:
Out of 1 million packets sent, I always get at least 20 packets,
sometimes even 100, with few bit errors (but the same bit errors) at the
end
of some packet.
For an example: If the payload+crc = [0xFF 0xFF 0xFF… 0x0a
0xB5
0xC7 0x80 0x52], I get 20-100 packets with the last sixe bytes modified
like
this,
the received packet with payload+crc
becomes [0xFF 0xFF 0xFF … 0xFE 0x15 0x6B 0x8F 0x00 0xA4]. -
Important Observation:
Notice that all the errors are happening due to missing of a ‘1’ bit
for
the last 0xFF, then everything is shifted to the left by one bit.
Meaning
“0x15 0x6B 0x8F 0x00 0xA4” becomes “0x0a 0xB5 0xC7 0x80 0x52” if we
were
to shift “0x15 0x6B 0x8F 0x00 0xA4” by one bit. -
Last Point and biggest question:
My biggest question is, in this scenario should the bit in errors be
exagerrated to a larger value just because of a missing bit?? or a bit
shift??
Please help me understand this, Eric, Jonathon and everybody else who
might
have some experience with BER and GNuradio symbol synchronization
issues.
Sincerely,
PS: This is a repeatable result for me.