From 3b87939358dd9096dd3a9c3b3bb5097481a93366 Mon Sep 17 00:00:00 2001 From: Steven Franke Date: Thu, 6 Jul 2017 15:45:25 +0000 Subject: [PATCH] Use dd in sync8, in anticipation of multiple detection/decoding passes. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7789 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/fsk4hf/subtractft8.f90 | 9 ++------- lib/fsk4hf/sync8.f90 | 6 +++--- lib/ft8_decode.f90 | 5 +++-- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/lib/fsk4hf/subtractft8.f90 b/lib/fsk4hf/subtractft8.f90 index 2cda67e90..dcc089031 100644 --- a/lib/fsk4hf/subtractft8.f90 +++ b/lib/fsk4hf/subtractft8.f90 @@ -10,8 +10,8 @@ subroutine subtractft8(dd,itone,f0,dt) use timer_module, only: timer parameter (NMAX=15*12000,NFRAME=1920*79) - parameter (NFFT=NMAX,NFILT=1000) - real*4 dd(NMAX),dds(NMAX), window(-NFILT/2:NFILT/2) + parameter (NFFT=NMAX,NFILT=400) + real*4 dd(NMAX), window(-NFILT/2:NFILT/2) complex cref,camp,cfilt,cw integer itone(79) logical first @@ -50,17 +50,12 @@ subroutine subtractft8(dd,itone,f0,dt) cfilt(1:nfft)=cfilt(1:nfft)*cw(1:nfft) call four2a(cfilt,nfft,1,1,1) -dds=dd ! Subtract the reconstructed signal do i=1,nframe j=nstart+i-1 if(j.ge.1 .and. j.le.NMAX) dd(j)=dd(j)-2*REAL(cfilt(i)*cref(i)) enddo -!do i=1,NMAX -!write(34,*) i,dds(i),dd(i) -!enddo - return end subroutine subtractft8 diff --git a/lib/fsk4hf/sync8.f90 b/lib/fsk4hf/sync8.f90 index ae95ec33e..1ce786a86 100644 --- a/lib/fsk4hf/sync8.f90 +++ b/lib/fsk4hf/sync8.f90 @@ -1,4 +1,4 @@ -subroutine sync8(iwave,nfa,nfb,nfqso,s,candidate,ncand) +subroutine sync8(dd,nfa,nfb,nfqso,s,candidate,ncand) include 'ft8_params.f90' parameter (JZ=31) !DT up to +/- 2.5 s @@ -10,7 +10,7 @@ subroutine sync8(iwave,nfa,nfb,nfqso,s,candidate,ncand) real red(NH1) real candidate0(3,100) real candidate(3,100) - integer*2 iwave(NMAX) + real dd(NMAX) integer jpeak(NH1) integer indx(NH1) integer ii(1) @@ -29,7 +29,7 @@ subroutine sync8(iwave,nfa,nfb,nfqso,s,candidate,ncand) do j=1,NHSYM ia=(j-1)*istep + 1 ib=ia+NSPS-1 - x(1:NSPS)=fac*iwave(ia:ib) + x(1:NSPS)=fac*dd(ia:ib) x(NSPS+1:)=0. call four2a(x,NFFT1,1,-1,0) !r2c FFT do i=1,NH1 diff --git a/lib/ft8_decode.f90 b/lib/ft8_decode.f90 index c9c13f74f..cf6d459f2 100644 --- a/lib/ft8_decode.f90 +++ b/lib/ft8_decode.f90 @@ -43,11 +43,12 @@ contains write(datetime,1001) nutc !### TEMPORARY ### 1001 format("000000_",i6.6) + dd=iwave + call timer('sync8 ',0) - call sync8(iwave,nfa,nfb,nfqso,s,candidate,ncand) + call sync8(dd,nfa,nfb,nfqso,s,candidate,ncand) call timer('sync8 ',1) - dd=iwave syncmin=2.0 ! rewind 51 do icand=1,ncand