Files
amodem/errors.py
2014-07-22 14:20:04 +03:00

23 lines
443 B
Python
Executable File

#!/usr/bin/env python
import bitarray
import sys
tx_fname, rx_fname = sys.argv[1:]
tx = bitarray.bitarray()
tx.fromfile(open(tx_fname))
rx = bitarray.bitarray()
rx.fromfile(open(rx_fname))
L = min(len(tx), len(rx))
if L == 0:
sys.exit(1)
rx = rx[:L]
tx = tx[:L]
errors = (rx ^ tx).count(1)
total = L
ber = float(errors) / total # bit error rate
print('BER: {:.3f}% ({}/{})'.format(100 * ber, errors, total))
sys.exit(int(errors > 0))