mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-09-02 05:07:54 -04:00
Call the MSK144 short-message decoder only if "Sh" is checked. Also,
make ntol available to the MSK144 decoder. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6894 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
13958f14b0
commit
4386536cf3
@ -1,4 +1,4 @@
|
|||||||
subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc)
|
subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol)
|
||||||
use timer_module, only: timer
|
use timer_module, only: timer
|
||||||
|
|
||||||
parameter (NSPM=864, NPTS=3*NSPM, MAXSTEPS=1700, NFFT=NSPM, MAXCAND=20)
|
parameter (NSPM=864, NPTS=3*NSPM, MAXSTEPS=1700, NFFT=NSPM, MAXCAND=20)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine detectmsk32(cbig,n,mycall,partnercall,lines,nmessages,nutc)
|
subroutine detectmsk32(cbig,n,mycall,partnercall,lines,nmessages,nutc,ntol)
|
||||||
use timer_module, only: timer
|
use timer_module, only: timer
|
||||||
|
|
||||||
parameter (NSPM=192, NPTS=3*NSPM, MAXSTEPS=7500, NFFT=3*NSPM, MAXCAND=40)
|
parameter (NSPM=192, NPTS=3*NSPM, MAXSTEPS=7500, NFFT=3*NSPM, MAXCAND=40)
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
subroutine fast_decode(id2,narg,line,pchk_file,mycall_12,hiscall_12)
|
subroutine fast_decode(id2,narg,bShMsgs,line,pchk_file,mycall_12,hiscall_12)
|
||||||
|
|
||||||
parameter (NMAX=30*12000)
|
parameter (NMAX=30*12000)
|
||||||
integer*2 id2(NMAX)
|
integer*2 id2(NMAX)
|
||||||
integer narg(0:14)
|
integer narg(0:14)
|
||||||
|
logical*1 bShMsgs
|
||||||
real dat(30*12000)
|
real dat(30*12000)
|
||||||
complex cdat(262145),cdat2(262145)
|
complex cdat(262145),cdat2(262145)
|
||||||
real psavg(450)
|
real psavg(450)
|
||||||
@ -37,7 +38,8 @@ subroutine fast_decode(id2,narg,line,pchk_file,mycall_12,hiscall_12)
|
|||||||
call jtmsk_decode(id2,narg,line)
|
call jtmsk_decode(id2,narg,line)
|
||||||
go to 900
|
go to 900
|
||||||
else if(nmode.eq.104) then
|
else if(nmode.eq.104) then
|
||||||
call msk144_decode(id2,ndat0,nutc,0,pchk_file,mycall,hiscall,line)
|
call msk144_decode(id2,ndat0,nutc,0,pchk_file,mycall,hiscall,bShMsgs, &
|
||||||
|
ntol,line)
|
||||||
go to 900
|
go to 900
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall,line)
|
subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall, &
|
||||||
|
bShMsgs,ntol,line)
|
||||||
|
|
||||||
! Calls the experimental decoder for MSK 72ms/16ms messages
|
! Calls the experimental decoder for MSK 72ms/16ms messages
|
||||||
|
|
||||||
@ -11,6 +12,7 @@ subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall,line)
|
|||||||
character*80 line(100) !Decodes passed back to caller
|
character*80 line(100) !Decodes passed back to caller
|
||||||
character*512 pchk_file
|
character*512 pchk_file
|
||||||
character*6 mycall,hiscall
|
character*6 mycall,hiscall
|
||||||
|
logical*1 bShMsgs
|
||||||
|
|
||||||
line(1:100)(1:1)=char(0)
|
line(1:100)(1:1)=char(0)
|
||||||
|
|
||||||
@ -30,15 +32,16 @@ subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall,line)
|
|||||||
n=log(float(npts))/log(2.0) + 1.0
|
n=log(float(npts))/log(2.0) + 1.0
|
||||||
nfft=min(2**n,1024*1024)
|
nfft=min(2**n,1024*1024)
|
||||||
call analytic(d,npts,nfft,c) !Convert to analytic signal and filter
|
call analytic(d,npts,nfft,c) !Convert to analytic signal and filter
|
||||||
call detectmsk144(c,npts,pchk_file,line,nline,nutc)
|
call detectmsk144(c,npts,pchk_file,line,nline,nutc,ntol)
|
||||||
if( nprint .ne. 0 ) then
|
if( nprint .ne. 0 ) then
|
||||||
do i=1,nline
|
do i=1,nline
|
||||||
write(*,'(a80)') line(i)
|
write(*,'(a80)') line(i)
|
||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if(nline .eq. 0) then
|
|
||||||
call detectmsk32(c,npts,mycall,hiscall,line,nline,nutc)
|
if(nline.eq.0 .and. bShMsgs) then
|
||||||
|
call detectmsk32(c,npts,mycall,hiscall,line,nline,nutc,ntol)
|
||||||
if( nprint .ne. 0 ) then
|
if( nprint .ne. 0 ) then
|
||||||
do i=1,nline
|
do i=1,nline
|
||||||
write(*,'(a80)') line(i)
|
write(*,'(a80)') line(i)
|
||||||
|
@ -4,7 +4,6 @@ subroutine qra64a(dd,nf1,nf2,nfqso,ntol,mycall_12,sync,nsnr,dtx,nfreq, &
|
|||||||
use packjt
|
use packjt
|
||||||
parameter (NFFT=2*6912,NH=NFFT/2,NZ=5760)
|
parameter (NFFT=2*6912,NH=NFFT/2,NZ=5760)
|
||||||
character decoded*22,mycall_12*12,mycall*6
|
character decoded*22,mycall_12*12,mycall*6
|
||||||
character*1 mark(0:5),zplot(0:63)
|
|
||||||
logical ltext
|
logical ltext
|
||||||
integer icos7(0:6)
|
integer icos7(0:6)
|
||||||
integer ipk(1)
|
integer ipk(1)
|
||||||
@ -20,7 +19,6 @@ subroutine qra64a(dd,nf1,nf2,nfqso,ntol,mycall_12,sync,nsnr,dtx,nfreq, &
|
|||||||
complex cx(0:NH)
|
complex cx(0:NH)
|
||||||
equivalence (x,cx)
|
equivalence (x,cx)
|
||||||
data icos7/2,5,6,0,4,1,3/ !Costas 7x7 pattern
|
data icos7/2,5,6,0,4,1,3/ !Costas 7x7 pattern
|
||||||
data mark/' ','.','-','+','X','$'/
|
|
||||||
common/qra64com/ss(NZ,194),s3(0:63,1:63),ccf(NZ,0:25)
|
common/qra64com/ss(NZ,194),s3(0:63,1:63),ccf(NZ,0:25)
|
||||||
save
|
save
|
||||||
|
|
||||||
|
@ -105,9 +105,9 @@ extern "C" {
|
|||||||
float* level, float* sigdb, float* snr, float* dfreq,
|
float* level, float* sigdb, float* snr, float* dfreq,
|
||||||
float* width);
|
float* width);
|
||||||
|
|
||||||
void fast_decode_(short id2[], int narg[], char msg[], char pchkFile[],
|
void fast_decode_(short id2[], int narg[], bool* bShMsgs, char msg[],
|
||||||
char mycall[], char hiscall[], int len1, int len2,
|
char pchkFile[], char mycall[], char hiscall[],
|
||||||
int len3, int len4);
|
int len1, int len2, int len3, int len4);
|
||||||
void hash_calls_(char calls[], int* ih9, int len);
|
void hash_calls_(char calls[], int* ih9, int len);
|
||||||
void degrade_snr_(short d2[], int* n, float* db, float* bandwidth);
|
void degrade_snr_(short d2[], int* n, float* db, float* bandwidth);
|
||||||
void wav12_(short d2[], short d1[], int* nbytes, short* nbitsam2);
|
void wav12_(short d2[], short d1[], int* nbytes, short* nbitsam2);
|
||||||
@ -2207,7 +2207,7 @@ void MainWindow::decode() //decode()
|
|||||||
narg[14]=m_config.aggressive();
|
narg[14]=m_config.aggressive();
|
||||||
memcpy(d2b,dec_data.d2,2*360000);
|
memcpy(d2b,dec_data.d2,2*360000);
|
||||||
watcher3.setFuture (QtConcurrent::run (std::bind (fast_decode_,&d2b[0],
|
watcher3.setFuture (QtConcurrent::run (std::bind (fast_decode_,&d2b[0],
|
||||||
&narg[0],&m_msg[0][0],&m_pchkFile[0],dec_data.params.mycall,
|
&narg[0],&m_bShMsgs,&m_msg[0][0],&m_pchkFile[0],dec_data.params.mycall,
|
||||||
dec_data.params.hiscall,80,512,12,12)));
|
dec_data.params.hiscall,80,512,12,12)));
|
||||||
} else {
|
} else {
|
||||||
memcpy(to, from, qMin(mem_jt9->size(), size));
|
memcpy(to, from, qMin(mem_jt9->size(), size));
|
||||||
@ -3975,6 +3975,7 @@ void MainWindow::on_actionMSK144_triggered()
|
|||||||
m_toneSpacing=0.0;
|
m_toneSpacing=0.0;
|
||||||
ui->cbShMsgs->setChecked(false);
|
ui->cbShMsgs->setChecked(false);
|
||||||
ui->cbShMsgs->setVisible(true);
|
ui->cbShMsgs->setVisible(true);
|
||||||
|
// ui->sbFtol->setVisible(false); //Maybe?
|
||||||
ui->actionMSK144->setChecked(true);
|
ui->actionMSK144->setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user