mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-10 14:23:31 -05:00
FST4W: Use K=66 for first OSD decode attempt and for updating fst4w_calls.txt. Use K=50 for 2nd attempt.
This commit is contained in:
parent
939e35bd26
commit
2960adc557
@ -69,7 +69,7 @@ contains
|
|||||||
|
|
||||||
logical badsync,unpk77_success,single_decode
|
logical badsync,unpk77_success,single_decode
|
||||||
logical first,nohiscall,lwspr
|
logical first,nohiscall,lwspr
|
||||||
logical new_callsign,plotspec_exists,wcalls_exists,do_nocrc_decode
|
logical new_callsign,plotspec_exists,wcalls_exists,do_k50_decode
|
||||||
logical decdata_exists
|
logical decdata_exists
|
||||||
|
|
||||||
integer*2 iwave(30*60*12000)
|
integer*2 iwave(30*60*12000)
|
||||||
@ -232,18 +232,19 @@ contains
|
|||||||
allocate( cframe(0:160*nss-1) )
|
allocate( cframe(0:160*nss-1) )
|
||||||
|
|
||||||
jittermax=2
|
jittermax=2
|
||||||
|
do_k50_decode=.false.
|
||||||
if(ndepth.eq.3) then
|
if(ndepth.eq.3) then
|
||||||
nblock=4
|
nblock=4
|
||||||
jittermax=2
|
jittermax=2
|
||||||
do_nocrc_decode=.true.
|
do_k50_decode=.true.
|
||||||
elseif(ndepth.eq.2) then
|
elseif(ndepth.eq.2) then
|
||||||
nblock=4
|
nblock=4
|
||||||
jittermax=2
|
jittermax=2
|
||||||
do_nocrc_decode=.false.
|
do_k50_decode=.false.
|
||||||
elseif(ndepth.eq.1) then
|
elseif(ndepth.eq.1) then
|
||||||
nblock=4
|
nblock=4
|
||||||
jittermax=0
|
jittermax=0
|
||||||
do_nocrc_decode=.false.
|
do_k50_decode=.false.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ndropmax=1
|
ndropmax=1
|
||||||
@ -480,10 +481,10 @@ contains
|
|||||||
write(c77,'(77i1)') mod(message101(1:77)+rvec,2)
|
write(c77,'(77i1)') mod(message101(1:77)+rvec,2)
|
||||||
call unpack77(c77,1,msg,unpk77_success)
|
call unpack77(c77,1,msg,unpk77_success)
|
||||||
elseif(iwspr.eq.1) then
|
elseif(iwspr.eq.1) then
|
||||||
! First try decoding with Keff=64
|
! Try decoding with Keff=66
|
||||||
maxosd=2
|
maxosd=2
|
||||||
call timer('d240_74 ',0)
|
call timer('d240_74 ',0)
|
||||||
Keff=64
|
Keff=66
|
||||||
norder=3
|
norder=3
|
||||||
call decode240_74(llr,Keff,maxosd,norder,apmask,message74,cw, &
|
call decode240_74(llr,Keff,maxosd,norder,apmask,message74,cw, &
|
||||||
ntype,nharderrors,dmin)
|
ntype,nharderrors,dmin)
|
||||||
@ -496,12 +497,13 @@ contains
|
|||||||
write(c77,'(50i1)') message74(1:50)
|
write(c77,'(50i1)') message74(1:50)
|
||||||
c77(51:77)='000000000000000000000110000'
|
c77(51:77)='000000000000000000000110000'
|
||||||
call unpack77(c77,1,msg,unpk77_success)
|
call unpack77(c77,1,msg,unpk77_success)
|
||||||
if(unpk77_success) then
|
if(unpk77_success .and. do_k50_decode) then
|
||||||
! If decode was obtained with Keff=64, save call/grid in fst4w_calls.txt if not there already.
|
! If decode was obtained with Keff=66, save call/grid in fst4w_calls.txt if not there already.
|
||||||
i1=index(msg,' ')
|
i1=index(msg,' ')
|
||||||
i2=i1+index(msg(i1+1:),' ')
|
i2=i1+index(msg(i1+1:),' ')
|
||||||
wpart=trim(msg(1:i2))
|
wpart=trim(msg(1:i2))
|
||||||
|
! Only save callsigns/grids from type 1 messages
|
||||||
|
if(index(wpart,'/').eq.0 .and. index(wpart,'<').eq.0) then
|
||||||
ifound=0
|
ifound=0
|
||||||
do i=1,nwcalls
|
do i=1,nwcalls
|
||||||
if(index(wcalls(i),wpart).ne.0) ifound=1
|
if(index(wcalls(i),wpart).ne.0) ifound=1
|
||||||
@ -518,11 +520,12 @@ contains
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
3465 continue
|
3465 continue
|
||||||
|
|
||||||
! If no decode then try Keff=50
|
! If no decode then try Keff=50
|
||||||
iaptype=0
|
iaptype=0
|
||||||
if( .not. unpk77_success .and. do_nocrc_decode ) then
|
if( .not. unpk77_success .and. do_k50_decode ) then
|
||||||
maxosd=1
|
maxosd=1
|
||||||
call timer('d240_74 ',0)
|
call timer('d240_74 ',0)
|
||||||
Keff=50
|
Keff=50
|
||||||
@ -608,7 +611,7 @@ contains
|
|||||||
800 enddo !candidate list
|
800 enddo !candidate list
|
||||||
enddo ! noise blanker loop
|
enddo ! noise blanker loop
|
||||||
|
|
||||||
if(new_callsign) then ! re-write the fst4w_calls.txt file
|
if(new_callsign .and. do_k50_decode) then ! re-write the fst4w_calls.txt file
|
||||||
open(42,file=trim(data_dir)//'/fst4w_calls.txt',status='unknown')
|
open(42,file=trim(data_dir)//'/fst4w_calls.txt',status='unknown')
|
||||||
do i=1,nwcalls
|
do i=1,nwcalls
|
||||||
write(42,'(a20)') trim(wcalls(i))
|
write(42,'(a20)') trim(wcalls(i))
|
||||||
|
Loading…
Reference in New Issue
Block a user