1. Fixed some problems with all-zero data.

2. Removed the two-buffer offset in fivehz.f90, it did not work right.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@104 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2006-01-14 18:38:15 +00:00
parent 4ff0764408
commit 3b7727ecc3
7 changed files with 13 additions and 9 deletions

View File

@ -59,6 +59,7 @@ subroutine decode3(d2,jz,istart,filename)
ps0,npkept,lumsg,basevb,rmspower,nslim2,psavg,ccf,Nseg, & ps0,npkept,lumsg,basevb,rmspower,nslim2,psavg,ccf,Nseg, &
MouseDF,NAgain,LDecoded,nspecial,ndf,ss1,ss2) MouseDF,NAgain,LDecoded,nspecial,ndf,ss1,ss2)
close(23) close(23)
if(basevb.le.-98.0) go to 999
! See whether this file should be saved or erased from disk ! See whether this file should be saved or erased from disk
if(nsave.eq.1 .and. ldecoded) filetokilla='' if(nsave.eq.1 .and. ldecoded) filetokilla=''

View File

@ -84,15 +84,11 @@ subroutine fivehz
endif endif
ibuf000=ibuf ibuf000=ibuf
iwrite000=iwrite iwrite000=iwrite
nsec=Tsec nsec=Tsec
ntr=mod(nsec/trperiod,2) !ntr=0 in 1st sequence, 1 in 2nd ntr=mod(nsec/trperiod,2) !ntr=0 in 1st sequence, 1 in 2nd
if(ntr.ne.ntr0) then if(ntr.ne.ntr0) then
ibuf0=ibuf !Start of new sequence, save ibuf ibuf0=ibuf !Start of new sequence, save ibuf
ibuf0=ibuf0-2 !Tweak the Rx start time
if(ibuf0.lt.1) ibuf0=ibuf0+1024
! if(mode(1:4).ne.'JT65') then ! if(mode(1:4).ne.'JT65') then
! ibuf0=ibuf0+3 !So we don't copy our own Tx ! ibuf0=ibuf0+3 !So we don't copy our own Tx
! if(ibuf0.gt.1024) ibuf0=ibuf0-1024 ! if(ibuf0.gt.1024) ibuf0=ibuf0-1024

View File

@ -124,5 +124,5 @@ C Finally, decode the message.
if(nc.le.47) msg(i:i)=c(nc+1:nc+1) if(nc.le.47) msg(i:i)=c(nc+1:nc+1)
enddo enddo
20 return return
end end

View File

@ -21,7 +21,6 @@ C Decode Multi-Tone FSK441 mesages.
character*90 line character*90 line
common/ccom/nline,tping(100),line(100) common/ccom/nline,tping(100),line(100)
! slim=10.0*log10(10.0**(0.1*MinSigdB)+1.0)
slim=MinSigdB slim=MinSigdB
wmin=0.001*MinWidth * (19.95/20.0) wmin=0.001*MinWidth * (19.95/20.0)
nf1=-DFTolerance nf1=-DFTolerance

View File

@ -44,6 +44,10 @@ C Accumulate average spectrum for the whole file.
psavg0(i) = psavg0(i)+ real(c(i))**2 + imag(c(i))**2 psavg0(i) = psavg0(i)+ real(c(i))**2 + imag(c(i))**2
enddo enddo
enddo enddo
if(sum.eq.0.0) then
sigma=-999.
go to 999
endif
C Normalize and save a copy of psavg0 for plotting. Roll off the C Normalize and save a copy of psavg0 for plotting. Roll off the
C spectrum at 300 and 3000 Hz. C spectrum at 300 and 3000 Hz.
@ -120,5 +124,5 @@ C Find average of active spectral region, over the whole file.
enddo enddo
sigma=sum/(44*nz) sigma=sum/(44*nz)
return 999 return
end end

View File

@ -1,4 +1,4 @@
#-------------------------------------------------------------- WSJT #------------------------------------------------------------- WSJT
from Tkinter import * from Tkinter import *
from tkFileDialog import * from tkFileDialog import *
import Pmw import Pmw

View File

@ -125,6 +125,7 @@
enddo enddo
avesq=sq/jz avesq=sq/jz
basevb=dB(avesq) - 44 !Base power level to send back to GUI basevb=dB(avesq) - 44 !Base power level to send back to GUI
if(avesq.eq.0) go to 900
nz=600 nz=600
nstep=jz/nz nstep=jz/nz
@ -196,7 +197,8 @@
enddo enddo
! For waterfall plot ! For waterfall plot
call spec2d(dat,jz,nstep,s2,nchan,nz,psavg,sigma) call spec2d(dat,jz,nstep,s2,nchan,nz,psavg,sigma)
if(jz/11025.0.lt.3.9) go to 900 if(sigma.lt.0.0) basevb=-99.0
if(jz/11025.0.lt.3.9 .or. sigma.lt.0.0) go to 900
f0=1076.66 f0=1076.66
if(NFreeze.eq.1) f0=1076.66+mousedf if(NFreeze.eq.1) f0=1076.66+mousedf
@ -249,6 +251,8 @@
dtbuf=nstep/11025.0 dtbuf=nstep/11025.0
stlim=nslim2 !Single-tone threshold stlim=nslim2 !Single-tone threshold
call spec2d(dat,jz,nstep,s2,nchan,nz,psavg,sigma) call spec2d(dat,jz,nstep,s2,nchan,nz,psavg,sigma)
if(sigma.lt.0.0) basevb=-99.0
if(sigma.lt.0.0) go to 900
nline0=nline nline0=nline
STfound=.false. STfound=.false.
npkept=0 npkept=0