mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	Another try at optimizing choices for decoding. Not done yet!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3271 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									07edcb67e0
								
							
						
					
					
						commit
						286a10b75f
					
				@ -8,7 +8,7 @@ subroutine chkss2(ss2,schk)
 | 
			
		||||
  ave=sum(ss2)/(9*85)
 | 
			
		||||
  s=ss2/ave-1.0
 | 
			
		||||
 | 
			
		||||
!  call zplot9(s)
 | 
			
		||||
  call zplot9(s)
 | 
			
		||||
  s1=0.
 | 
			
		||||
  do lag=0,5
 | 
			
		||||
     do i=1,16
 | 
			
		||||
 | 
			
		||||
@ -74,8 +74,8 @@ subroutine decoder(ss,c0,nstandalone)
 | 
			
		||||
     endif
 | 
			
		||||
 | 
			
		||||
     if(nqd.eq.1) then
 | 
			
		||||
        limit=200000
 | 
			
		||||
        ccflim=2.5
 | 
			
		||||
        limit=100000
 | 
			
		||||
        ccflim=2.0
 | 
			
		||||
        nfa1=nfqso-ntol
 | 
			
		||||
        nfb1=nfqso+ntol
 | 
			
		||||
     else
 | 
			
		||||
@ -115,8 +115,7 @@ subroutine decoder(ss,c0,nstandalone)
 | 
			
		||||
 | 
			
		||||
     do i=ia,ib
 | 
			
		||||
        f=(i-1)*df3
 | 
			
		||||
        if(done(i) .or. (.not.ccfok(i)) .or. (ccfred(i).lt.ccflim-1.0) .or. &
 | 
			
		||||
             (ccfred(i).lt.ccfred(i+1))) cycle
 | 
			
		||||
        if(done(i) .or. (.not.ccfok(i)) .or. (ccfred(i).lt.ccflim-1.0)) cycle
 | 
			
		||||
        if(nqd.eq.1 .or.                                                   &
 | 
			
		||||
           (ccfred(i).ge.ccflim .and. abs(f-fgood).gt.10.0*df8)) then
 | 
			
		||||
 | 
			
		||||
@ -129,7 +128,7 @@ subroutine decoder(ss,c0,nstandalone)
 | 
			
		||||
                drift,schk,i1SoftSymbols)
 | 
			
		||||
           call timer('softsym ',1)
 | 
			
		||||
 | 
			
		||||
           if(schk.ge.3.0) then
 | 
			
		||||
           if(schk.ge.2.0) then
 | 
			
		||||
 | 
			
		||||
              call timer('decode9 ',0)
 | 
			
		||||
              call decode9(i1SoftSymbols,limit,nlim,msg)
 | 
			
		||||
 | 
			
		||||
@ -86,8 +86,8 @@ subroutine symspec(k,ntrperiod,nsps,ingain,nb,nbslider,pxdb,s,red,    &
 | 
			
		||||
  peaklimit=sigmas*max(10.0,rms)
 | 
			
		||||
  px=0.
 | 
			
		||||
 | 
			
		||||
  nwindow=2
 | 
			
		||||
!  nwindow=0                                    !### No windowing ###
 | 
			
		||||
!  nwindow=2
 | 
			
		||||
  nwindow=0                                    !### No windowing ###
 | 
			
		||||
  kstep1=NFFT1
 | 
			
		||||
  if(nwindow.ne.0) kstep1=NFFT1/2
 | 
			
		||||
  fac=2.0/NFFT1
 | 
			
		||||
@ -97,11 +97,11 @@ subroutine symspec(k,ntrperiod,nsps,ingain,nb,nbslider,pxdb,s,red,    &
 | 
			
		||||
     do i=1,NFFT1
 | 
			
		||||
        x0(i)=gain*id2(k1+i)
 | 
			
		||||
     enddo
 | 
			
		||||
     call timf2(x0,k,NFFT1,nwindow,nb,peaklimit,x1,   &
 | 
			
		||||
          slimit,lstrong,px,nzap)
 | 
			
		||||
!     call timf2(x0,k,NFFT1,nwindow,nb,peaklimit,x1,   &
 | 
			
		||||
!          slimit,lstrong,px,nzap)
 | 
			
		||||
 | 
			
		||||
! Mix at 1500 Hz, lowpass at +/-750 Hz, and downsample to 1500 Hz complex.
 | 
			
		||||
     x2(106:105+kstep1)=x1(1:kstep1)
 | 
			
		||||
     x2(106:105+kstep1)=x0(1:kstep1)
 | 
			
		||||
     call fil3(x2,kstep1+105,c0(k8+1),n2)
 | 
			
		||||
     x2(1:105)=x1(kstep1-104:kstep1)   !Save 105 trailing samples
 | 
			
		||||
     k1=k1+kstep1
 | 
			
		||||
 | 
			
		||||
@ -38,7 +38,7 @@ subroutine symspec2(c5,nz3,nsps8,nspsd,fsample,freq,drift,snrdb,schk,    &
 | 
			
		||||
!  write(30) freq,drift,ss2
 | 
			
		||||
!  call flush(30)
 | 
			
		||||
  call chkss2(ss2,schk)
 | 
			
		||||
  if(schk.lt.3.0) go to 900
 | 
			
		||||
  if(schk.lt.2.0) go to 900
 | 
			
		||||
!###
 | 
			
		||||
  ss=0.
 | 
			
		||||
  sig=0.
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,8 @@ subroutine sync9(ss,nzhsym,lag1,lag2,ia,ib,ccfred,ipkbest)
 | 
			
		||||
  do i=ia,ib                         !Loop over freq range
 | 
			
		||||
     ss1=ss(1:184,i)
 | 
			
		||||
     call pctile(ss1,nzhsym,40,xmed)
 | 
			
		||||
!     xmed=sum(ss1(1:nzhsym))/nzhsym
 | 
			
		||||
 | 
			
		||||
     ss1=ss1/xmed - 1.0
 | 
			
		||||
     do j=1,nzhsym
 | 
			
		||||
        if(ss1(j).gt.3.0) ss1(j)=3.0
 | 
			
		||||
@ -21,13 +23,13 @@ subroutine sync9(ss,nzhsym,lag1,lag2,ia,ib,ccfred,ipkbest)
 | 
			
		||||
 | 
			
		||||
     smax=0.
 | 
			
		||||
     do lag=lag1,lag2                !DT = 2.5 to 5.0 s
 | 
			
		||||
        sum=0.
 | 
			
		||||
        sum1=0.
 | 
			
		||||
        do j=1,16                    !Sum over 16 sync symbols
 | 
			
		||||
           k=ii2(j) + lag
 | 
			
		||||
           if(k.ge.1 .and. k.le.nzhsym) sum=sum + ss1(k)
 | 
			
		||||
           if(k.ge.1 .and. k.le.nzhsym) sum1=sum1 + ss1(k)
 | 
			
		||||
        enddo
 | 
			
		||||
        if(sum.gt.smax) then
 | 
			
		||||
           smax=sum
 | 
			
		||||
        if(sum1.gt.smax) then
 | 
			
		||||
           smax=sum1
 | 
			
		||||
           ipk=i 
 | 
			
		||||
        endif
 | 
			
		||||
     enddo
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
//------------------------------------------------------------- MainWindow
 | 
			
		||||
//------------------------------------------------------------ MainWindow
 | 
			
		||||
#include "mainwindow.h"
 | 
			
		||||
#include "ui_mainwindow.h"
 | 
			
		||||
#include "devsetup.h"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user