#!/bin/bash

# jt65 end-to-end simulator. Run enough cases to get a given
# number of successful decodes or a given number of errors

nruns=0
ndecodes=0
ngood=0
nbad=0
snr=-23.0

while [ $[ $nruns - $ngood ] -lt 50 ] 
#while [ $ngood -lt 100 ] 
#while [ $nruns -lt 1000 ] 

do
  ./jt65sim A 1 0.0 $snr 0.0 1 > /dev/null 
  decoded=$( ./jt65 -n 100000 -f 1500 -s 000000_0001.wav ) 
#  echo $decoded
  goodone=$( echo $decoded | grep "K1ABC" | wc -l )
  nruns=$[$nruns+1]
  if [ ! -z "$decoded" ]; then  # if decoded string is not empty
    ndecodes=$[$ndecodes+1]
    if [ $goodone -eq 1 ] ; then
      ngood=$[$ngood+1]
    else
      nbad=$[$nbad+1]
    fi
  fi
nmissed=$[$nruns-$ngood]
echo -en nruns: $nruns ndecodes: $ndecodes ngood: $ngood nbad: $nbad nmissed: $nmissed "\r"
done
echo  nruns: $nruns ndecodes: $ndecodes ngood: $ngood nbad: $nbad nmissed: $nmissed