diff --git a/commons.h b/commons.h index c8c733d..17fc89d 100644 --- a/commons.h +++ b/commons.h @@ -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 diff --git a/lib/js8/js8e_params.f90 b/lib/js8/js8e_params.f90 index 4711b9d..b4a30fe 100644 --- a/lib/js8/js8e_params.f90 +++ b/lib/js8/js8e_params.f90 @@ -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) diff --git a/mainwindow.cpp b/mainwindow.cpp index 943d1b2..50ae4b8 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -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;