Unexpected Bit errors when using benchmark_tx.py and benchmark_rx.py

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:

  1. Receiver:
    ./benchmark_rx.py -f 2.5G -d 128 -m dbpsk

  2. 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.

  3. 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].

  4. 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.

  5. 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.