A few more fixups for QRA65. Not finished, yet!

This commit is contained in:
Joe Taylor 2020-09-25 15:38:20 -04:00
parent 443aee5355
commit acd6253373
8 changed files with 20 additions and 14 deletions

View File

@ -1338,6 +1338,9 @@ target_link_libraries (qra64sim wsjt_fort wsjt_cxx)
add_executable (qra65sim lib/qra/qra65/qra65sim.f90 wsjtx.rc)
target_link_libraries (qra65sim wsjt_fort wsjt_cxx)
add_executable (test_qra65 lib/test_qra65.f90 wsjtx.rc)
target_link_libraries (test_qra65 wsjt_fort wsjt_cxx)
add_executable (jt49sim lib/jt49sim.f90 wsjtx.rc)
target_link_libraries (jt49sim wsjt_fort wsjt_cxx)

View File

@ -70,7 +70,7 @@ void Modulator::start (QString mode, unsigned symbolsLength, double framesPerSym
m_bFastMode=fastMode;
m_TRperiod=TRperiod;
unsigned delay_ms=1000;
if(mode=="FT8" or (mode=="FST4" and m_nsps==720) or mode=="QRA66") delay_ms=500; //FT8, FST4-15, QRA66
if(mode=="FT8" or (mode=="FST4" and m_nsps==720) or mode=="QRA65") delay_ms=500; //FT8, FST4-15, QRA65
if(mode=="FT4") delay_ms=300; //FT4
// noise generator parameters

View File

@ -11,7 +11,7 @@ JT9+JT65 1110100000011110000100000000000010
JT65 1110100000001110000100000000000010
JT65/VHF 1111100100001101101011000100000000
QRA64 1111100101101101100000000010000000
QRA66 1111110101101101000100000011000000
QRA65 1111110101101101000100000011000000
ISCAT 1001110000000001100000000000000000
MSK144 1011111101000000000100010000000000
WSPR 0000000000000000010100000000000000

View File

@ -73,6 +73,7 @@ subroutine sync_qra65(iwave,nmax,mode65,nsps,nfqso,ntol,xdt,f0,snr1)
if(nsps.ge.16000) jadd=3
if(nsps.ge.41472) jadd=1
dt4=nsps/(NSTEP*12000.0) !1/4 of symbol duration
! print*,'DT range +/-',15*dt4
! j0=0.5/dt4
! if(nsps.ge.7680) j0=1.0/dt4

View File

@ -1,17 +1,16 @@
program test_qra66
program test_qra65
character*70 cmd1,cmd2,line
character*22 msg
character*8 arg
integer nretcode(0:11)
integer fDop
real fspread
logical decok
nargs=iargc()
if(nargs.ne.7) then
print*,'Usage: test_qra66 "msg" ndepth freq DT fDop nfiles SNR'
print*,'Example: test_qra66 "K1ABC W9XYZ EN37" 3 1500 0.0 5 100 0'
print*,'Usage: test_qra65 "msg" ndepth freq DT fDop nfiles SNR'
print*,'Example: test_qra65 "K1ABC W9XYZ EN37" 3 1500 0.0 5 100 0'
print*,' SNR = 0 to loop over all relevant SNRs'
go to 999
endif
@ -31,7 +30,7 @@ program test_qra66
! 1 2 3 4 5 6
! 1234567890123456789012345678901234567890123456789012345678901234'
cmd1='qra66sim "K1ABC W9XYZ EN37 " A 1500 5.0 0.0 100 -10 > junk0'
cmd1='qra65sim "K1ABC W9XYZ EN37 " A 1500 5.0 0.0 100 -10 > junk0'
cmd2='jt9 -3 -p 15 -L 300 -H 3000 -d 1 *.wav > junk'
write(cmd1(10:33),'(a)') '"'//msg//'"'
@ -96,7 +95,7 @@ program test_qra66
flush(12)
enddo
999 end program test_qra66
999 end program test_qra65
include 'sec0.f90'

View File

@ -26,7 +26,8 @@ namespace
"FT8",
"FT4",
"FST4",
"FST4W"
"FST4W",
"QRA65"
};
std::size_t constexpr mode_names_size = sizeof (mode_names) / sizeof (mode_names[0]);
}

View File

@ -52,6 +52,7 @@ public:
FT4,
FST4,
FST4W,
QRA65,
MODES_END_SENTINAL_AND_COUNT // this must be last
};
Q_ENUM (Mode)

View File

@ -6330,16 +6330,17 @@ void MainWindow::on_actionQRA65_triggered()
m_mode="QRA65";
m_modeTx="QRA65";
ui->actionQRA65->setChecked(true);
switch_mode (Modes::QRA64);
setup_status_bar (false);
switch_mode(Modes::QRA65);
setup_status_bar(true);
m_hsymStop=49;
ui->sbTR->values ({15, 30, 60, 120, 300});
on_sbTR_valueChanged (ui->sbTR->value());
m_wideGraph->setMode(m_mode);
ui->sbSubmode->setMaximum(3);
ui->sbSubmode->setValue(m_nSubMode); m_wideGraph->setMode(m_mode);
m_wideGraph->setModeTx(m_modeTx);
m_wideGraph->setPeriod(m_TRperiod,6912);
m_wideGraph->setTol(ui->sbFtol->value());
// 0123456789012345678901234567890123
//displayWidgets(nWidgets("1111100001001100000100000001000000"));
displayWidgets(nWidgets("1111110101101101000100000011000000"));
statusChanged();}
@ -7523,7 +7524,7 @@ void MainWindow::on_sbTR_FST4W_valueChanged(int value)
QChar MainWindow::current_submode () const
{
QChar submode {0};
if (m_mode.contains (QRegularExpression {R"(^(JT65|JT9|JT4|ISCAT|QRA64)$)"})
if (m_mode.contains (QRegularExpression {R"(^(JT65|JT9|JT4|ISCAT|QRA64|QRA65)$)"})
&& (m_config.enable_VHF_features () || "JT4" == m_mode || "ISCAT" == m_mode))
{
submode = m_nSubMode + 65;