diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a39c2030..03dc1a977 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -388,7 +388,6 @@ set (wsjt_FSRCS lib/slope.f90 lib/smo.f90 lib/smo121.f90 - lib/smolorentz.f90 lib/softsym.f90 lib/softsym9f.f90 lib/shell.f90 diff --git a/lib/decode65a.f90 b/lib/decode65a.f90 index 704da79f5..714966e4e 100644 --- a/lib/decode65a.f90 +++ b/lib/decode65a.f90 @@ -13,7 +13,6 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, & complex cx1(NMAX/8) !Data at 1378.125 sps, offset by 355.3 Hz complex c5x(NMAX/32) !Data at 344.53125 Hz complex c5a(512) - real s1a(-255:256,126) real s2(66,126) real a(5) logical first @@ -84,18 +83,23 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, & call timer('dec65b ',0) qualbest=0. + minsmo=0 maxsmo=0 - if(mode65.ge.2) maxsmo=3 + if(mode65.ge.2) then + minsmo=nint(width/df) + maxsmo=2*minsmo + endif nn=0 - do ismo=0,maxsmo + do ismo=minsmo,maxsmo if(ismo.gt.0) then - w=width/df - if(ismo.eq.2) w=1.414*w - if(ismo.eq.3) w=2.0*w do j=1,126 - call smolorentz(s1(-255,j),512,w,s1a(-255,j)) + call smo121(s1(-255,j),512) + if(j.eq.1) nn=nn+1 + if(nn.ge.4) then + call smo121(s1(-255,j),512) + if(j.eq.1) nn=nn+1 + endif enddo - s1=s1a endif do i=1,66 @@ -126,6 +130,8 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, & endif enddo +! print*,width,minsmo,maxsmo,nsmo,nn + if(nft.eq.2) then decoded=decoded_best qual=qualbest