diff --git a/lib/decoder.f90 b/lib/decoder.f90 index d796156ac..f477835ef 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -79,7 +79,7 @@ subroutine decoder(ntrSeconds,ndepth,nRxLog,c00) do i=ia,ib f=(i-1)*df3 if((i.eq.ipk .or. ccfred(i).ge.3.0) .and. f.gt.fgood+10.0*df8) then - call spec9(c0,npts8,nsps,f,fpk,xdt,i1SoftSymbols) + call spec9(c0,npts8,nsps,f,fpk,xdt,snrdb,i1SoftSymbols) call decode9(i1SoftSymbols,limit,nlim,msg) snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0 sync=ccfred(i) - 2.0 diff --git a/lib/jt9.f90 b/lib/jt9.f90 index 26fa700e4..1d3eded63 100644 --- a/lib/jt9.f90 +++ b/lib/jt9.f90 @@ -101,10 +101,11 @@ program jt9 do i=ia,ib f=(i-1)*df3 if((i.eq.ipk .or. ccfred(i).ge.3.0) .and. f.gt.fgood+10.0*df8) then - call spec9(c0,npts8,nsps,f,fpk,xdt,i1SoftSymbols) + call spec9(c0,npts8,nsps,f,fpk,xdt,snrdb,i1SoftSymbols) call decode9(i1SoftSymbols,limit,nlim,msg) - print*,msg - snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0 +! print*,msg +! snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0 + snr=snrdb sync=ccfred(i) - 2.0 if(sync.lt.0.0) sync=0.0 nsync=sync @@ -119,9 +120,8 @@ program jt9 endif if(msg.ne.' ') then - write(13,1010) nutc,nsync,nsnr,xdt,1000.0+fpk,width,msg + write(*,1010) nutc,nsync,nsnr,xdt,1000.0+fpk,width,msg 1010 format(i4.4,i4,i5,f6.1,f8.2,f6.2,3x,a22) - write(14,1010) nutc,nsync,nsnr,xdt,1000.0+fpk,width,msg fgood=f nsynced=1 ndecoded=1 @@ -130,8 +130,7 @@ program jt9 enddo if(fgood.eq.0.0) then - write(13,1020) line - write(14,1020) line + write(*,1020) line 1020 format(a33) endif diff --git a/lib/spec9.f90 b/lib/spec9.f90 index 7983714b5..17ee7ebcb 100644 --- a/lib/spec9.f90 +++ b/lib/spec9.f90 @@ -1,4 +1,4 @@ -subroutine spec9(c0,npts8,nsps,fpk0,fpk,xdt,i1SoftSymbols) +subroutine spec9(c0,npts8,nsps,fpk0,fpk,xdt,snrdb,i1SoftSymbols) parameter (MAXFFT=31500) complex c0(0:npts8-1) @@ -71,16 +71,23 @@ subroutine spec9(c0,npts8,nsps,fpk0,fpk,xdt,i1SoftSymbols) enddo sum=0. + sig=0. do j=1,69 smax=0. do i=0,7 smax=max(smax,ssym(i,j)) sum=sum+ssym(i,j) enddo + sig=sig+smax sum=sum-smax enddo ave=sum/(69*7) ssym=ssym/ave + sig=sig/69. + snr=sig/ave + df8=1500.0/nsps8 + snrdb=db(snr) - db(2500.0/df8) +! print*,ave,sig,snr,df8,snrdb m0=3 ntones=8 diff --git a/mainwindow.cpp b/mainwindow.cpp index 5399fd160..5cdf21c9e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------- MainWindow +//--------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h" @@ -17,7 +17,7 @@ float c0[2*1800*1500]; WideGraph* g_pWideGraph = NULL; QString rev="$Rev$"; -QString Program_Title_Version=" WSJT-X v0.2, r" + rev.mid(6,4) + +QString Program_Title_Version=" WSJT-X v0.3, r" + rev.mid(6,4) + " by K1JT"; //-------------------------------------------------- MainWindow constructor