mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-18 01:52:05 -05:00
Add Bill's fixes plus change to line 139.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6774 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
fea1f88dce
commit
0fa2ed81bb
@ -6,6 +6,7 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc)
|
|||||||
use timer_module, only: timer
|
use timer_module, only: timer
|
||||||
|
|
||||||
parameter (NSPM=864, NPTS=3*NSPM)
|
parameter (NSPM=864, NPTS=3*NSPM)
|
||||||
|
integer, parameter :: nstep=693
|
||||||
character*22 msgreceived,allmessages(20)
|
character*22 msgreceived,allmessages(20)
|
||||||
character*80 lines(100)
|
character*80 lines(100)
|
||||||
character*512 pchk_file,gen_file
|
character*512 pchk_file,gen_file
|
||||||
@ -26,12 +27,12 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc)
|
|||||||
integer*4 i4Dec6BitWords(12)
|
integer*4 i4Dec6BitWords(12)
|
||||||
integer*1 decoded(80)
|
integer*1 decoded(80)
|
||||||
integer*1 i1hashdec
|
integer*1 i1hashdec
|
||||||
integer indices(700)
|
integer indices(nstep)
|
||||||
integer ipeaks(10)
|
integer ipeaks(10)
|
||||||
logical ismask(6000)
|
logical ismask(6000)
|
||||||
real cbi(42),cbq(42)
|
real cbi(42),cbq(42)
|
||||||
real detmet(700)
|
real detmet(-2:nstep+3)
|
||||||
real detfer(700)
|
real detfer(nstep)
|
||||||
real tonespec(6000)
|
real tonespec(6000)
|
||||||
real rcw(12)
|
real rcw(12)
|
||||||
real dd(NPTS)
|
real dd(NPTS)
|
||||||
@ -82,7 +83,8 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc)
|
|||||||
first=.false.
|
first=.false.
|
||||||
endif
|
endif
|
||||||
|
|
||||||
nstep=693 ! fill the detmet, detsnr, detferr arrays
|
! fill the detmet, detferr arrays
|
||||||
|
detmet=0
|
||||||
do istp=1,nstep
|
do istp=1,nstep
|
||||||
ns=1+256*(istp-1)
|
ns=1+256*(istp-1)
|
||||||
ne=ns+NPTS-1
|
ne=ns+NPTS-1
|
||||||
@ -127,14 +129,14 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc)
|
|||||||
detfer(istp)=ferr
|
detfer(istp)=ferr
|
||||||
enddo ! end of detection-metric, snr, and frequency error estimation loop
|
enddo ! end of detection-metric, snr, and frequency error estimation loop
|
||||||
|
|
||||||
call indexx(detmet,nstep,indices) !find median of detection metric vector
|
call indexx(detmet(1:nstep),nstep,indices) !find median of detection metric vector
|
||||||
xmed=detmet(indices(nstep/2))
|
xmed=detmet(indices(nstep/2))
|
||||||
detmet=detmet/xmed ! noise floor of detection metric is 1.0
|
detmet=detmet/xmed ! noise floor of detection metric is 1.0
|
||||||
|
|
||||||
ndet=0
|
ndet=0
|
||||||
|
|
||||||
do ip=1,20 ! use something like the "clean" algorithm to find candidates
|
do ip=1,20 ! use something like the "clean" algorithm to find candidates
|
||||||
iloc=maxloc(detmet)
|
iloc=maxloc(detmet(1:nstep))
|
||||||
il=iloc(1)
|
il=iloc(1)
|
||||||
if( (detmet(il) .lt. 2.0) .or. (abs(detfer(il)) .gt. 100.0) ) cycle
|
if( (detmet(il) .lt. 2.0) .or. (abs(detfer(il)) .gt. 100.0) ) cycle
|
||||||
ndet=ndet+1
|
ndet=ndet+1
|
||||||
@ -358,8 +360,8 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc)
|
|||||||
if( ndupe .eq. 0 ) then
|
if( ndupe .eq. 0 ) then
|
||||||
nmessages=nmessages+1
|
nmessages=nmessages+1
|
||||||
allmessages(nmessages)=msgreceived
|
allmessages(nmessages)=msgreceived
|
||||||
write(lines(nmessages),1020) nutc,nsnr,t0,nint(fest),msgreceived,char(0)
|
write(lines(nmessages),1020) nutc,nsnr,t0,nint(fest),msgreceived
|
||||||
1020 format(i6.6,i4,f5.1,i5,' & ',a22,a1)
|
1020 format(i6.6,i4,f5.1,i5,' & ',a22)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user