mirror of
https://github.com/romanz/amodem.git
synced 2026-02-07 01:18:02 +08:00
23 lines
443 B
Python
Executable File
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))
|