Minor tweaks to JT65 decoding.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8264 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2017-11-28 20:46:00 +00:00
parent 521ea99991
commit 89434b0d97
6 changed files with 7 additions and 22 deletions

View File

@ -1,6 +1,7 @@
subroutine ccf2(ss,nz,nflip,ccfbest,xlagpk) subroutine ccf2(ss,nz,nflip,ccfbest,xlagpk)
parameter (LAGMIN=-86,LAGMAX=258) ! parameter (LAGMIN=-86,LAGMAX=258)
parameter (LAGMIN=-112,LAGMAX=258) ! Look for DT from -3.6s to +5.0s
real ss(nz) real ss(nz)
real ccf(-LAGMAX:LAGMAX) real ccf(-LAGMAX:LAGMAX)
integer npr(126) integer npr(126)

View File

@ -136,11 +136,6 @@ contains
endif endif
endif endif
enddo enddo
! h=default_header(12000,NMAX)
! open(10,file='subtract.wav',status='unknown',access='stream')
! iwave=nint(dd)
! write(10) h,iwave
! close(10)
enddo enddo
return return
end subroutine decode end subroutine decode

View File

@ -138,7 +138,7 @@ contains
nvec=1000 nvec=1000
else else
npass=4 npass=4
nvec=2000 nvec=1000
endif endif
endif endif
do ipass=1,npass do ipass=1,npass
@ -226,7 +226,6 @@ contains
sync1=ca(icand)%sync sync1=ca(icand)%sync
dtx=ca(icand)%dt dtx=ca(icand)%dt
freq=ca(icand)%freq freq=ca(icand)%freq
!write(*,*) icand,sync1,dtx,freq,ndepth,bVHF,mode65
if(bVHF) then if(bVHF) then
flip=ca(icand)%flip flip=ca(icand)%flip
nflip=flip nflip=flip
@ -299,9 +298,8 @@ contains
endif endif
n=naggressive n=naggressive
rtt=0.001*nrtt1000 rtt=0.001*nrtt1000
!write(*,*) 'nft ',nft,minsync,nspecial
if(nft.lt.2 .and. minsync.ge.0 .and. nspecial.eq.0) then if(nft.lt.2 .and. minsync.ge.0 .and. nspecial.eq.0) then
!write(*,*) 'naggressive ',n,nhard_min,ntotal_min,rtt !write(*,*) dtx,freq,nft,minsync,nhard_min,ntotal_min,rtt
if(nhard_min.gt.50) cycle if(nhard_min.gt.50) cycle
if(nhard_min.gt.h0(n)) cycle if(nhard_min.gt.h0(n)) cycle
if(ntotal_min.gt.d0(n)) cycle if(ntotal_min.gt.d0(n)) cycle

View File

@ -1,7 +1,7 @@
subroutine slope(y,npts,xpk) subroutine slope(y,npts,xpk)
! Remove best-fit slope from data in y(i). When fitting the straight line, ! Remove best-fit slope from data in y(i). When fitting the straight line,
! ignore the peak around xpk +/- 2 bins ! ignore the peak around xpk +/- 4 bins
real y(npts) real y(npts)
@ -30,9 +30,9 @@ subroutine slope(y,npts,xpk)
sq=0. sq=0.
do i=1,npts do i=1,npts
y(i)=y(i)-(a + b*i) y(i)=y(i)-(a + b*i)
if(abs(i-xpk).gt.2.0) sq=sq + y(i)**2 if(abs(i-xpk).gt.4.0) sq=sq + y(i)**2
enddo enddo
rms=sqrt(sq/(sumw-2.0)) rms=sqrt(sq/(sumw-4.0))
y=y/rms y=y/rms
return return

View File

@ -43,9 +43,7 @@ subroutine symspec65(dd,npts,nqsym,savg)
first=.false. first=.false.
endif endif
! do j=1,nhsym
do j=1,nqsym do j=1,nqsym
! i0=(j-1)*hstep
i0=(j-1)*qstep i0=(j-1)*qstep
x=fac1*w*dd(i0+1:i0+NFFT) x=fac1*w*dd(i0+1:i0+NFFT)
call four2a(c,NFFT,1,-1,0) !r2c forward FFT call four2a(c,NFFT,1,-1,0) !r2c forward FFT

View File

@ -1,10 +1,7 @@
!subroutine sync65(ss,nfa,nfb,naggressive,ntol,nqsym,ca,ncand,nrobust, &
! bVHF)
subroutine sync65(nfa,nfb,naggressive,ntol,nqsym,ca,ncand,nrobust, & subroutine sync65(nfa,nfb,naggressive,ntol,nqsym,ca,ncand,nrobust, &
bVHF) bVHF)
parameter (NSZ=3413,NFFT=8192,MAXCAND=300) parameter (NSZ=3413,NFFT=8192,MAXCAND=300)
! real ss(322,NSZ)
real ss(552,NSZ) real ss(552,NSZ)
real ccfblue(-32:82) !CCF with pseudorandom sequence real ccfblue(-32:82) !CCF with pseudorandom sequence
real ccfred(NSZ) !Peak of ccfblue, as function of freq real ccfred(NSZ) !Peak of ccfblue, as function of freq
@ -41,7 +38,6 @@ subroutine sync65(nfa,nfb,naggressive,ntol,nqsym,ca,ncand,nrobust, &
ccfmax=0. ccfmax=0.
ipk=0 ipk=0
do i=ia,ib do i=ia,ib
! call xcor(ss,i,nqsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk0,flip,fdot,nrobust)
call xcor(i,nqsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk0,flip,fdot,nrobust) call xcor(i,nqsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk0,flip,fdot,nrobust)
! Remove best-fit slope from ccfblue and normalize so baseline rms=1.0 ! Remove best-fit slope from ccfblue and normalize so baseline rms=1.0
if(.not.bVHF) call slope(ccfblue(lag1),lag2-lag1+1, & if(.not.bVHF) call slope(ccfblue(lag1),lag2-lag1+1, &
@ -73,8 +69,6 @@ subroutine sync65(nfa,nfb,naggressive,ntol,nqsym,ca,ncand,nrobust, &
endif endif
endif endif
if(itry.ne.0) then if(itry.ne.0) then
! call xcor(ss,i,nqsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk,flip,fdot, &
! nrobust)
call xcor(i,nqsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk,flip,fdot,nrobust) call xcor(i,nqsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk,flip,fdot,nrobust)
if(.not.bVHF) call slope(ccfblue(lag1),lag2-lag1+1, & if(.not.bVHF) call slope(ccfblue(lag1),lag2-lag1+1, &
lagpk-lag1+1.0) lagpk-lag1+1.0)
@ -83,7 +77,6 @@ subroutine sync65(nfa,nfb,naggressive,ntol,nqsym,ca,ncand,nrobust, &
call peakup(ccfblue(lagpk-1),ccfmax,ccfblue(lagpk+1),dx2) call peakup(ccfblue(lagpk-1),ccfmax,ccfblue(lagpk+1),dx2)
xlag=lagpk+dx2 xlag=lagpk+dx2
endif endif
! dtx=xlag*2048.0/11025.0
dtx=xlag*1024.0/11025.0 dtx=xlag*1024.0/11025.0
ccfblue(lag1)=0. ccfblue(lag1)=0.
ccfblue(lag2)=0. ccfblue(lag2)=0.