Tweak decoding for E

This commit is contained in:
Jordan Sherer 2019-11-06 16:32:13 -05:00
parent a43c913a19
commit 31137082f9
3 changed files with 19 additions and 6 deletions

View File

@ -37,7 +37,7 @@
#else
#define JS8E_SYMBOL_SAMPLES 4000
#define JS8E_TX_SECONDS 30
#define JS8E_START_DELAY_MS 100
#define JS8E_START_DELAY_MS 500
#endif
#ifndef TEST_FOX_WAVE_GEN

View File

@ -6,7 +6,7 @@
!parameter (JZ=62) !Sync Search Space over +/- 2.5s relative to 0.5s TX start time. 2.48 = 62/4/(12000/1920) ?
parameter (NSPS=384, NTXDUR=4, NDOWNSPS=12, NDD=125, JZ=250) ! 250 Hz 31.25 baud 60 wpm -18.0dB (1.0Eb/N0) 2.52s
! parameter (NSPS=384, NTXDUR=4, NDOWNSPS=12, NDD=125, JZ=250) ! 250 Hz 31.25 baud 60 wpm -18.0dB (1.0Eb/N0) 2.52s
! parameter (NSPS=384, NTXDUR=5, NDOWNSPS=12, NDD=125, JZ=116) ! 250 Hz 31.25 baud 48 wpm -18.0dB (1.0Eb/N0) 2.52s
! parameter (NSPS=480, NTXDUR=5, NDOWNSPS=12, NDD=125, JZ=116) ! 200 Hz 25 baud 48 wpm -19.0dB (1.0Eb/N0) 3.16s
! parameter (NSPS=480, NTXDUR=6, NDOWNSPS=20, NDD=150, JZ=116) ! 200 Hz 25 baud 40 wpm -19.0dB (1.0Eb/N0) 3.16s
@ -17,10 +17,10 @@
! parameter (NSPS=960, NTXDUR=8, NDOWNSPS=24, NDD=100, JZ=116) ! 100 Hz 12.50 baud 32 wpm -22.0dB (1.0Eb/N0) 5.92s
! parameter (NSPS=1200, NTXDUR=10, NDOWNSPS=20, NDD=100, JZ=116) ! 80 Hz 10 baud 24 wpm -23.0dB (1.0Eb/N0) 7.90s
! parameter (NSPS=1920, NTXDUR=15, NDOWNSPS=32, NDD=100, JZ=116) ! 50 Hz 6.250 baud 16 wpm -25.0dB (1.0Eb/N0) 12.64s
! parameter (NSPS=4000, NTXDUR=30, NDOWNSPS=40, NDD=90, JZ=116) ! 24 Hz 3 baud 8 wpm -28.2dB (1.0Eb/N0) 26.33s
parameter (NSPS=4000, NTXDUR=30, NDOWNSPS=40, NDD=90, JZ=116) ! 24 Hz 3 baud 8 wpm -28.2dB (1.0Eb/N0) 26.33s
parameter (AZ=12000.0/(1.0*NSPS)*0.8d0) !Dedupe overlap in Hz
parameter (ASTART=0.1) !Start delay in seconds
parameter (ASTART=0.5) !Start delay in seconds
parameter (ASYNCMIN=1.5) !Minimum Sync
parameter (KK=87) !Information bits (75 + CRC12)

View File

@ -2528,7 +2528,9 @@ int MainWindow::computeStop(int submode, int period){
{
symbolSamples = JS8E_SYMBOL_SAMPLES;
#if JS8E_IS_ULTRA
threshold = 0.00;
threshold = 0.0;
#else
threshold = 2.0;
#endif
break;
}
@ -3997,9 +3999,20 @@ bool MainWindow::decodeReady(int submode, int period, int *pSubmode, int *pPerio
bool couldDecodeC = k >= cycleSampleStartC + framesNeededC;
#if JS8_ENABLE_JS8E
qint32 cycleSampleStartE = computeCycleStartForDecode(computeCurrentCycle(JS8E_TX_SECONDS), JS8E_TX_SECONDS);
int cycleE = computeCurrentCycle(JS8E_TX_SECONDS);
qint32 cycleSampleStartE = computeCycleStartForDecode(cycleE, JS8E_TX_SECONDS);
qint32 framesNeededE = computeFramesNeededForDecode(Varicode::JS8CallUltraSlow, JS8E_TX_SECONDS);
bool couldDecodeE = k >= cycleSampleStartE + framesNeededE;
#if !JS8E_IS_ULTRA
static int lastE = -1;
if(couldDecodeE){
if(cycleE == lastE){
couldDecodeE = false;
}
lastE = cycleE;
}
#endif
#else
qint32 cycleSampleStartE = 0;
qint32 framesNeededE = 0;