From c065fb20676dad393e75c43a4cb106a0e2c15c85 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 30 Oct 2012 15:02:27 +0000 Subject: [PATCH] Fixed the "Eddie's ghost" problem. Fixed the "long decode time" problem. Leading blanks in Tx message are now ignored. Decodes of callsign '000AAA ' are now suppressed. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2704 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/decode9.f90 | 1 + lib/decoder.f90 | 6 ++---- lib/genjt9.f90 | 5 +++++ lib/symspec.f90 | 5 ++++- lib/sync9.f90 | 3 +++ wsjtx.iss | 4 ++-- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/decode9.f90 b/lib/decode9.f90 index 724b67b5e..cd3f502e6 100644 --- a/lib/decode9.f90 +++ b/lib/decode9.f90 @@ -49,6 +49,7 @@ subroutine decode9(i1SoftSymbols,msg) call unpackbits(i4DecodedBytes,nbytes,8,i1DecodedBits) call packbits(i1DecodedBits,12,6,i4Decoded6BitWords) call unpackmsg(i4Decoded6BitWords,msg) !Unpack decoded msg + if(index(msg,'000AAA ').gt.0) msg=' ' endif return diff --git a/lib/decoder.f90 b/lib/decoder.f90 index f5f228c89..49792e534 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -68,10 +68,8 @@ subroutine decoder(ntrSeconds,nRxLog,c0) if((i.eq.ipk .or. ccfred(i).ge.10.0) .and. f.gt.fgood+10.0*df8) then call spec9(c0,npts8,nsps,f,fpk,xdt,i1SoftSymbols) call decode9(i1SoftSymbols,msg) - call pctile(ccfred(ia),ib-ia+1,50,xmed) - - snr=10.0*log10(ccfred(i)/xmed) - 10.0*log10(2500.0/df3) + 2.0 - sync=ccfred(i)/xmed - 2.0 + snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0 + sync=ccfred(i) - 2.0 if(sync.lt.0.0) sync=0.0 nsync=sync if(nsync.gt.10) nsync=10 diff --git a/lib/genjt9.f90 b/lib/genjt9.f90 index 83d4c584c..34c6ce6e7 100644 --- a/lib/genjt9.f90 +++ b/lib/genjt9.f90 @@ -16,6 +16,11 @@ subroutine genjt9(message,msgsent,i4tone) include 'jt9sync.f90' save + do i=1,22 + if(message(1:1).ne.' ') exit + message=message(i+1:) + enddo + call packmsg(message,i4Msg6BitWords) !Pack message into 12 6-bit bytes call unpackmsg(i4Msg6BitWords,msgsent) !Unpack to get msgsent call entail(i4Msg6BitWords,i1Msg8BitBytes) !Add tail, convert to 8-bit bytes diff --git a/lib/symspec.f90 b/lib/symspec.f90 index c9c1596a2..b2d51d951 100644 --- a/lib/symspec.f90 +++ b/lib/symspec.f90 @@ -64,7 +64,10 @@ subroutine symspec(k,ntrperiod,nsps,nb,nbslider,pxdb,s,red, & k1=0 k8=0 x2=0. - if(ndiskdat.eq.0) id2(k+1:60*ntrperiod*12000)=0 + if(ndiskdat.eq.0) then + id2(k+1:)=0 + c0=0. !This is necessary to prevent "ghosts". Not sure why. + endif endif k0=k diff --git a/lib/sync9.f90 b/lib/sync9.f90 index f3eedb715..b7ee19497 100644 --- a/lib/sync9.f90 +++ b/lib/sync9.f90 @@ -44,5 +44,8 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,ccfred,ia,ib,ipkbest) endif enddo + call pctile(ccfred(ia),ib-ia+1,50,xmed) + ccfred=ccfred/xmed + return end subroutine sync9 diff --git a/wsjtx.iss b/wsjtx.iss index 933a72e2a..3d5fc268b 100644 --- a/wsjtx.iss +++ b/wsjtx.iss @@ -1,6 +1,6 @@ [Setup] AppName=wsjtx -AppVerName=wsjtx Version 0.1 r2695 +AppVerName=wsjtx Version 0.2 r2704 AppCopyright=Copyright (C) 2001-2012 by Joe Taylor, K1JT DefaultDirName=c:\wsjtx DefaultGroupName=wsjtx @@ -14,7 +14,7 @@ Source: "c:\Users\joe\wsjt\wsjtx_install\met8.21"; DestDir: "{app}"; Source: "c:\Users\joe\wsjt\wsjtx_install\CALL3.TXT"; DestDir: "{app}"; Source: "c:\Users\joe\wsjt\wsjtx\WSJT-X_Quick_Start_Guide.pdf"; DestDir: "{app}"; Source: "c:\Users\joe\wsjt\QtSupport\*.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist -Source: "c:\Users\joe\wsjt\wsjtx_install\save\000000_0000.wav"; DestDir: "{app}\save"; +Source: "c:\Users\joe\wsjt\wsjtx_install\000000_0000.wav"; DestDir: "{app}\save"; [Icons] Name: "{group}\wsjtx"; Filename: "{app}\wsjtx.exe"; WorkingDir: {app}; IconFilename: {app}\wsjt.ico