Added better baseline valid frame thresholds to prevent fewer false decodes

This commit is contained in:
Jordan Sherer 2019-11-07 22:18:05 -05:00
parent 9f3f9b267b
commit 084dd77b42
3 changed files with 20 additions and 4 deletions

View File

@ -29,7 +29,7 @@
#define JS8C_TX_SECONDS 6
#define JS8C_START_DELAY_MS 100
#define JS8E_IS_ULTRA 0
#define JS8E_IS_ULTRA 1
#if JS8E_IS_ULTRA
#define JS8E_SYMBOL_SAMPLES 384
#define JS8E_TX_SECONDS 4

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
@ -18,7 +18,7 @@
! 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=3840, NTXDUR=30, NDOWNSPS=32, NDD=94, JZ=116) ! 24 Hz 3.125 baud 8 wpm -28.0dB (1.0Eb/N0) 25.28s
parameter (NSPS=4000, NTXDUR=30, NDOWNSPS=32, NDD=90, JZ=32) ! 24 Hz 3 baud 8 wpm -28.2dB (1.0Eb/N0) 26.33s
! parameter (NSPS=4000, NTXDUR=30, NDOWNSPS=32, NDD=90, JZ=32) ! 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.5) !Start delay in seconds

View File

@ -4507,7 +4507,23 @@ void MainWindow::readFromStdout() //readFromStdout
DecodedText decodedtext {QString::fromUtf8 (t.constData ()).remove (QRegularExpression {"\r|\n"}), "FT8" == m_mode &&
ui->cbVHFcontest->isChecked(), m_config.my_grid ()};
bool bValidFrame = decodedtext.snr() > -28;
int snr = decodedtext.snr();
bool bValidFrame = snr >= -28;
// these are baseline thresholds for valid frames
switch(decodedtext.submode()){
case Varicode::JS8CallNormal:
bValidFrame = snr >= -24;
case Varicode::JS8CallFast:
bValidFrame = snr >= -22;
case Varicode::JS8CallTurbo:
bValidFrame = snr >= -20;
#if JS8E_IS_ULTRA
case Varicode::JS8CallUltraSlow:
bValidFrame = snr >= -18;
break;
#endif
}
// dupe check
auto frame = decodedtext.message();