Decode FT4 over the full frequency range displayed in waterfall.

This commit is contained in:
Joe Taylor 2019-01-31 12:10:58 -05:00
parent 0dd4577143
commit a80b955fe7
4 changed files with 17 additions and 10 deletions

View File

@ -1,4 +1,5 @@
subroutine ft4_decode(cdatetime0,nfqso,iwave,ndecodes,mycall,hiscall,nrx,line)
subroutine ft4_decode(cdatetime0,nfa,nfb,nfqso,iwave,ndecodes,mycall, &
hiscall,nrx,line)
use packjt77
include 'ft4_params.f90'
@ -66,12 +67,11 @@ subroutine ft4_decode(cdatetime0,nfqso,iwave,ndecodes,mycall,hiscall,nrx,line)
syncmin=1.2
maxcand=100
! These are temporary. Correct values should be passed in as arguments.
! ### This is temporary. Correct directory should be passed in as an argument.
data_dir="."
fMHz=7.074
fa=400.0
fb=3000.0
fa=nfa
fb=nfb
call getcandidates4(iwave,fa,fb,syncmin,nfqso,maxcand,savg,candidate, &
ncand,sbase)

View File

@ -43,6 +43,8 @@ program ft4d
iarg=iarg+2
endif
ncoh=1
nfa=200
nfb=3000
do ifile=iarg,nargs
call getarg(ifile,infile)
@ -54,7 +56,8 @@ program ft4d
cdatetime=' '//datetime
close(10)
call ft4_decode(cdatetime,nfqso,iwave,ndecodes,mycall,hiscall,nrx,line)
call ft4_decode(cdatetime,nfa,nfb,nfqso,iwave,ndecodes,mycall, &
hiscall,nrx,line)
if(ndecodes.ge.1) write(*,'(a61)') line
enddo !files

View File

@ -45,7 +45,9 @@ subroutine getcandidates4(id,fa,fb,syncmin,nfqso,maxcand,savg,candidate, &
savsm(i)=sum(savg(i-7:i+7))/15.
enddo
nfa=fa/df
if(nfa.lt.1) nfa=1
nfb=fb/df
if(nfb.gt.nint(5000.0/df)) nfb=nint(5000.0/df)
np=nfb-nfa+1
indx=0
call indexx(savsm(nfa:nfb),np,indx)

View File

@ -163,8 +163,8 @@ extern "C" {
void chkcall_(char* w, char* basc_call, bool cok, int len1, int len2);
void ft4_decode_(char* cdatetime, int* nfqso, short int id[], int* ndecodes,
char* mycall6, char* hiscall6, int* nrx, char* line,
void ft4_decode_(char* cdatetime, int* nfa, int* nfb, int* nfqso, short int id[],
int* ndecodes, char* mycall6, char* hiscall6, int* nrx, char* line,
int len1, int len2, int len3, int len4);
}
@ -8652,8 +8652,10 @@ void MainWindow::ft4Data(int k)
int nfqso=1500;
int ndecodes=0;
int nrx=-1;
ft4_decode_(cdatetime,&nfqso,id,&ndecodes,mycall6,hiscall6,&nrx,&line[0],
17,6,6,61);
int nfa=m_wideGraph->nStartFreq();
int nfb=m_wideGraph->Fmax();
ft4_decode_(cdatetime,&nfa,&nfb,&nfqso,id,&ndecodes,mycall6,hiscall6,
&nrx,&line[0],17,6,6,61);
line[60]=0;
if(ndecodes>0) {
QString sline{QString::fromLatin1(line)};