Change sync vector from nearly periodic to 2 x Golomb ruler.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2681 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor
2012-10-22 19:18:24 +00:00
parent 6b39458e48
commit 5f6d91d63d
8 changed files with 36 additions and 46 deletions
+11 -14
View File
@@ -3,16 +3,7 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred)
parameter (NSMAX=22000) !Max length of saved spectra
real ss(184,NSMAX)
real ccfred(NSMAX)
integer ii(16) !Locations of sync half-symbols
data ii/1,11,21,31,41,51,61,77,89,101,113,125,137,149,161,169/
integer isync(85) !Sync vector for half-symbols
data isync/ &
1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0, &
1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0, &
0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, &
0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, &
1,0,0,0,1/
include 'jt9sync.f90'
ipk=0
ipkbest=0
@@ -35,7 +26,7 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred)
do lag=-lagmax,lagmax
sum=0.
do j=1,16
k=ii(j) + lag
k=ii2(j) + lag
if(k.ge.1) sum=sum + ss(k,i)
enddo
if(sum.gt.smax) then
@@ -44,18 +35,18 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred)
lagpk=lag
endif
enddo
ccfred(i)=smax !Best at this freq, over all lags
if(smax.gt.sbest) then
sbest=smax
ipkbest=ipk
! lagpkbest=lagpk
lagpkbest=lagpk
endif
ccfred(i)=smax
enddo
sum=0.
nsum=0
do i=ia,ib
if(abs(i-ipkbest).ge.2) then
if(abs(i-ipkbest).ge.4) then
sum=sum+ccfred(i)
nsum=nsum+1
endif
@@ -67,5 +58,11 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred)
if(sync.gt.10.0) sync=10.0
fpk=(ipkbest-1)*df3
do i=1,184
write(72,3007) i,ss(i,684)
3007 format(i3,f12.3)
enddo
call flush(72)
return
end subroutine sync9