Now OK for DT from -1 to +9 s (ABC modes) and -1 to +4 s (B2,C2 modes).

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2569 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2012-09-10 14:27:58 +00:00
parent d511b34e67
commit 3422dc7051
2 changed files with 15 additions and 17 deletions

View File

@ -27,7 +27,6 @@
call filbig(dd,NMAX,nfast,f0,newdat,nfsample,xpol,cx,cy,n5) call filbig(dd,NMAX,nfast,f0,newdat,nfsample,xpol,cx,cy,n5)
! NB: cx, cy have sample rate 96000*77125/5376000 = 1378.125 Hz ! NB: cx, cy have sample rate 96000*77125/5376000 = 1378.125 Hz
call timer('filbig ',1) call timer('filbig ',1)
joff=0
sqa=0. sqa=0.
sqb=0. sqb=0.
do i=1,n5 do i=1,n5
@ -43,27 +42,21 @@
cy(:n5)=z*cy(:n5) !Adjust for cable length difference cy(:n5)=z*cy(:n5) !Adjust for cable length difference
endif endif
call timer('fil6521 ',0) call timer('fil6521 ',0)
call fil6521(cx,n5,c5x,n6)
if(xpol) call fil6521(cy,n5,c5y,n6)
call timer('fil6521 ',1)
! Add some zeros at start of c5 arrays -- empirical fix for negative DT's ! Add some zeros at start of c5 arrays -- empirical fix for negative DT's
! NB: might be better to add zeros to cx and cy, rather than here. nadd=1089
! Q: is the DT search range big enough? c5x(:nadd)=0.
call fil6521(cx,n5,c5x(nadd+1),n6)
nadd=200
c5tmp(1:nadd)=0.
c5tmp(1+nadd:n6+nadd)=c5x(1:n6)
c5x(1:n6+nadd)=c5tmp(1:n6+nadd)
if(xpol) then if(xpol) then
c5tmp(1+nadd:n6+nadd)=c5y(1:n6) c5y(:nadd)=0.
c5y(1:n6+nadd)=c5tmp(1:n6+nadd) call fil6521(cy,n5,c5y(nadd+1),n6)
endif endif
n6=n6+nadd n6=n6+nadd
call timer('fil6521 ',1)
fsample=1378.125/4. fsample=1378.125/4.
a(5)=dt00 a(5)=dt00
i0=nint((a(5)+0.5)*fsample) - 2 + 200 i0=nint((a(5)+0.5)*fsample) - 2 + nadd
i00=i0
if(i0.lt.1) then if(i0.lt.1) then
write(13,*) 'i0 too small in decode1a:',i0,f0 write(13,*) 'i0 too small in decode1a:',i0,f0
flush(13) flush(13)
@ -101,7 +94,8 @@
nsym=126 nsym=126
! nfft=512/(nfast*mode65) ! nfft=512/(nfast*mode65)
nfft=512/nfast nfft=512/nfast
j=(dt00+dtbest+2.685)*1378.125 + joff j=(dt00+dtbest+2.685)*1378.125
j00=j
if(nfast.eq.2) j=j-1506 if(nfast.eq.2) j=j-1506
! print*,'B',dt00,dtbest,j ! print*,'B',dt00,dtbest,j
if(j.lt.0) j=0 if(j.lt.0) j=0
@ -163,5 +157,9 @@
nutc0=nutc nutc0=nutc
endif endif
write(71,3000) dt00,i00,j00,dtbest,sync2,qual,decoded
3000 format(f7.2,2i6,3f7.2,2x,a22)
flush(71)
return return
end end

View File

@ -1,4 +1,4 @@
//-------------------------------------------------------------- MainWindow //--------------------------------------------------------------- MainWindow
#include "mainwindow.h" #include "mainwindow.h"
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
#include "devsetup.h" #include "devsetup.h"