mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-29 07:28:54 -04:00
Add a decent calculation of snrdb for a synced signal.
Bring jt9.f90 up to date. Bump version number to 0.3. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2717 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
161cadca49
commit
508009db5e
@ -79,7 +79,7 @@ subroutine decoder(ntrSeconds,ndepth,nRxLog,c00)
|
|||||||
do i=ia,ib
|
do i=ia,ib
|
||||||
f=(i-1)*df3
|
f=(i-1)*df3
|
||||||
if((i.eq.ipk .or. ccfred(i).ge.3.0) .and. f.gt.fgood+10.0*df8) then
|
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)
|
call decode9(i1SoftSymbols,limit,nlim,msg)
|
||||||
snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0
|
snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0
|
||||||
sync=ccfred(i) - 2.0
|
sync=ccfred(i) - 2.0
|
||||||
|
13
lib/jt9.f90
13
lib/jt9.f90
@ -101,10 +101,11 @@ program jt9
|
|||||||
do i=ia,ib
|
do i=ia,ib
|
||||||
f=(i-1)*df3
|
f=(i-1)*df3
|
||||||
if((i.eq.ipk .or. ccfred(i).ge.3.0) .and. f.gt.fgood+10.0*df8) then
|
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)
|
call decode9(i1SoftSymbols,limit,nlim,msg)
|
||||||
print*,msg
|
! print*,msg
|
||||||
snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0
|
! snr=10.0*log10(ccfred(i)) - 10.0*log10(2500.0/df3) + 2.0
|
||||||
|
snr=snrdb
|
||||||
sync=ccfred(i) - 2.0
|
sync=ccfred(i) - 2.0
|
||||||
if(sync.lt.0.0) sync=0.0
|
if(sync.lt.0.0) sync=0.0
|
||||||
nsync=sync
|
nsync=sync
|
||||||
@ -119,9 +120,8 @@ program jt9
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if(msg.ne.' ') then
|
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)
|
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
|
fgood=f
|
||||||
nsynced=1
|
nsynced=1
|
||||||
ndecoded=1
|
ndecoded=1
|
||||||
@ -130,8 +130,7 @@ program jt9
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
if(fgood.eq.0.0) then
|
if(fgood.eq.0.0) then
|
||||||
write(13,1020) line
|
write(*,1020) line
|
||||||
write(14,1020) line
|
|
||||||
1020 format(a33)
|
1020 format(a33)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -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)
|
parameter (MAXFFT=31500)
|
||||||
complex c0(0:npts8-1)
|
complex c0(0:npts8-1)
|
||||||
@ -71,16 +71,23 @@ subroutine spec9(c0,npts8,nsps,fpk0,fpk,xdt,i1SoftSymbols)
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
sum=0.
|
sum=0.
|
||||||
|
sig=0.
|
||||||
do j=1,69
|
do j=1,69
|
||||||
smax=0.
|
smax=0.
|
||||||
do i=0,7
|
do i=0,7
|
||||||
smax=max(smax,ssym(i,j))
|
smax=max(smax,ssym(i,j))
|
||||||
sum=sum+ssym(i,j)
|
sum=sum+ssym(i,j)
|
||||||
enddo
|
enddo
|
||||||
|
sig=sig+smax
|
||||||
sum=sum-smax
|
sum=sum-smax
|
||||||
enddo
|
enddo
|
||||||
ave=sum/(69*7)
|
ave=sum/(69*7)
|
||||||
ssym=ssym/ave
|
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
|
m0=3
|
||||||
ntones=8
|
ntones=8
|
||||||
|
@ -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"
|
||||||
@ -17,7 +17,7 @@ float c0[2*1800*1500];
|
|||||||
WideGraph* g_pWideGraph = NULL;
|
WideGraph* g_pWideGraph = NULL;
|
||||||
|
|
||||||
QString rev="$Rev$";
|
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";
|
" by K1JT";
|
||||||
|
|
||||||
//-------------------------------------------------- MainWindow constructor
|
//-------------------------------------------------- MainWindow constructor
|
||||||
|
Loading…
Reference in New Issue
Block a user