diff --git a/Makefile.in b/Makefile.in index 397b4e691..3e736646e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -47,7 +47,7 @@ SRCS2F90 = astro0.F90 audio_init.F90 azdist0.f90 \ decode1.F90 ftn_init.F90 ftn_quit.f90 wsjtgen.F90 \ runqqq.F90 fivehz.F90 flushqqq.F90 map65a0.f90 \ rfile.f90 rfile3a.f90 spec.f90 map65a.f90 display.F90 \ - getfile.F90 getfile2.F90 recvpkt.F90 savetf2.F90 + getfile.F90 getfile2.F90 recvpkt.F90 SRCS2F77 = indexx.f gen65.f chkmsg.f \ gentone.f gencwid.f set.f db.f pctile.f sort.f ssort.f \ diff --git a/decode1a.f b/decode1a.f index a6f4caae5..1be6d199a 100644 --- a/decode1a.f +++ b/decode1a.f @@ -1,4 +1,4 @@ - subroutine decode1a(id,nqd,newdat,nfilt,freq,nflip,dphi,ipol, + subroutine decode1a(id,newdat,nfilt,freq,nflip,dphi,ipol, + sync2,a,dt,pol,nkv,nhist,qual,decoded) C Apply AFC corrections to a candidate JT65 signal, and then try @@ -71,43 +71,38 @@ C Find best DF, f1, f2, DT, and pol ! call afc65b(cx(i0),cy(i0),nz,fsample,nflip,ipol,a,dt, ! + ccfbest,dtbest) -! Adjust for cable length difference: - z=cmplx(cos(dphi),sin(dphi)) - do i=1,n5 - cy(i)=z*cy(i) - enddo - call fil6521(cx,n5,c5x,n6) call fil6521(cy,n5,c5y,n6) +! Adjust for cable length difference: + z=cmplx(cos(dphi),sin(dphi)) + do i=1,n6 + c5y(i)=z*c5y(i) + enddo + fsample=1378.125/4. + a(5)=dt00 + i0=nint((a(5)+0.5)*fsample) - 2 + if(i0.lt.1) i0=1 + nz=n6+1-i0 - if(nqd.eq.1) then - call findpol(c5x,c5y,n6,dt00,nflip,ipol,a,ccfbest,dtbest) - else - a(5)=dt00 - i0=nint((a(5)+0.5)*fsample) - 2 - if(i0.lt.1) i0=1 - nz=n6+1-i0 + ip0=ipol + nflip=1 + call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, + + ccfbest,dtbest) - ip0=ipol + nflip=-1 + ipol=ip0 + call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, + + ccfbest2,dtbest) + + if(ccfbest2.lt.ccfbest) then nflip=1 - call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, - + ccfbest,dtbest) - - nflip=-1 ipol=ip0 call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, - + ccfbest2,dtbest) - - if(ccfbest2.lt.ccfbest) then - nflip=1 - ipol=ip0 - call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, - + ccfbest,dtbest) - else - ccfbest=ccfbest - endif + + ccfbest,dtbest) + else + ccfbest=ccfbest endif pol=a(4)/57.2957795 @@ -150,5 +145,3 @@ C Adding or subtracting a small number (e.g., 5) to j may make it decode. return end - - include 'findpol.f' diff --git a/decode65b.f b/decode65b.f index a37a7698b..d0146ae8e 100644 --- a/decode65b.f +++ b/decode65b.f @@ -44,6 +44,7 @@ C Suppress "birdie messages": ndepth=5 if(ndepth.ge.1) call deep65(s3,mode65,neme, + nsked,flip,mycall,hiscall,hisgrid,deepmsg,qual) + C Save symbol spectra for possible decoding of average. ! do j=1,63 ! k=mdat(j) diff --git a/getfile2.F90 b/getfile2.F90 index 2fba25ea1..726e76172 100644 --- a/getfile2.F90 +++ b/getfile2.F90 @@ -49,10 +49,8 @@ subroutine getfile2(fname,len) #endif - read(filename(8:11),*,err=996,end=996) nutc - go to 997 -996 print*,'Error reading UTC: ',filename,nutc -997 ndiskdat=1 + read(filename(8:11),*) nutc + ndiskdat=1 ndecoding=4 mousebutton=0 go to 999 diff --git a/map65.py b/map65.py index 0b090f185..53c179367 100644 --- a/map65.py +++ b/map65.py @@ -1,4 +1,4 @@ -#--------------------------------------------------------------------- MAP65 +#---------------------------------------------------------------------- MAP65 # $Date$ $Revision$ # from Tkinter import * @@ -1137,7 +1137,7 @@ def update(): bm2text.see(END) Audio.gcom2.ndecdone=0 - if loopall and Audio.gcom2.ndecoding==0: opennext() + if loopall: opennext() nopen=0 if g.cmap != cmap0: diff --git a/map65a.f90 b/map65a.f90 index 4e5151739..06920bb9d 100644 --- a/map65a.f90 +++ b/map65a.f90 @@ -55,23 +55,21 @@ subroutine map65a(newdat) ! nfilt=2 should be faster (but doesn't work quite right?) nfilt=1 !nfilt=2 is faster for selected freq dphi=310/57.2957795 -! do kpol=0,3 - kpol=0 + do kpol=0,3 freq=fselect + 0.001*mousedf if(even) ip0=ip000+kpol if(.not.even) ip0=ip001+kpol if(ip0.gt.4) ip0=ip0-4 dt00=2.314240 dt=dt00 - nqd=1 - call decode1a(id(1,1,kbuf),nqd,newdat,nfilt,freq,nflip,dphi,ip0, & + call decode1a(id(1,1,kbuf),newdat,nfilt,freq,nflip,dphi,ip0, & sync2,a,dt,pol,nkv,nhist,qual,decoded) nsync1=0 nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ### ndf=nint(a(1)) + mousedf nw=0 -! if(nkv.gt.0) go to 5 -! enddo + if(nkv.gt.0) go to 5 + enddo 5 if(even) ip000=ip0 if(.not.even) ip001=ip0 @@ -197,8 +195,7 @@ subroutine map65a(newdat) if(freq-freq0.gt.ftol .or. sync1.gt.sync10) then nflip=nint(flipk) - nqd=0 - call decode1a(id(1,1,kbuf),nqd,newdat,nfilt,freq,nflip,dphi, & + call decode1a(id(1,1,kbuf),newdat,nfilt,freq,nflip,dphi, & ipol,sync2,a,dt,pol,nkv,nhist,qual,decoded) ! i9=index(decoded,'AA1YN') ! if(i9.gt.0) print*,i,i9,fselect,freq,decoded diff --git a/recvpkt.F90 b/recvpkt.F90 index dac5b7fa0..1583bdb0d 100644 --- a/recvpkt.F90 +++ b/recvpkt.F90 @@ -65,8 +65,8 @@ subroutine recvpkt(iarg) do i=1,174 k=k+1 d8(k)=buf8(i) - sq=sq + float(int(id(1,k,1)))**2 + float(int(id(1,k,1)))**2 + & - float(int(id(1,k,1)))**2 + float(int(id(1,k,1)))**2 + sq=sq + float(id(1,k,1))**2 + float(id(1,k,1))**2 + & + float(id(1,k,1))**2 + float(id(1,k,1))**2 enddo sqave=sqave + u*(sq-sqave) rxnoise=10.0*log10(sqave) - 48.0 diff --git a/savetf2.F90 b/savetf2.F90 index d8082e79a..46acd1df8 100644 --- a/savetf2.F90 +++ b/savetf2.F90 @@ -16,8 +16,8 @@ subroutine savetf2(id,nsave,nutc) do i=1,NPKTS s=0. do n=1,NSPP - s=s + float(int(id(1,i)))**2 + float(int(id(2,i)))**2 + & - float(int(id(3,i)))**2 + float(int(id(4,i)))**2 + s=s + float(id(1,i))**2 + float(id(2,i))**2 + float(id(3,i))**2 + & + float(id(4,i))**2 enddo ss(i)=fac*s t=t+dt