mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 04:11:16 -05:00
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:
parent
521ea99991
commit
89434b0d97
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user