mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	Minor cleanups and corrections to the JT4 and JT65 decoders when
using deep search and/or averaging. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6696 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									1f6e882800
								
							
						
					
					
						commit
						27fb2d8126
					
				@ -19,7 +19,6 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials,     &
 | 
				
			|||||||
  character decoded*22,decoded_best*22
 | 
					  character decoded*22,decoded_best*22
 | 
				
			||||||
  character mycall*12,hiscall*12,hisgrid*6
 | 
					  character mycall*12,hiscall*12,hisgrid*6
 | 
				
			||||||
  data first/.true./,jjjmin/1000/,jjjmax/-1000/
 | 
					  data first/.true./,jjjmin/1000/,jjjmax/-1000/
 | 
				
			||||||
  data nhz0/-9999999/
 | 
					 | 
				
			||||||
  save
 | 
					  save
 | 
				
			||||||
 | 
					
 | 
				
			||||||
! Mix sync tone to baseband, low-pass filter, downsample to 1378.125 Hz
 | 
					! Mix sync tone to baseband, low-pass filter, downsample to 1378.125 Hz
 | 
				
			||||||
 | 
				
			|||||||
@ -232,11 +232,11 @@ contains
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
!$omp critical(decode_results)
 | 
					!$omp critical(decode_results)
 | 
				
			||||||
    decoded=decoded0
 | 
					    decoded=decoded0
 | 
				
			||||||
 | 
					    cflags='   '
 | 
				
			||||||
 | 
					    is_deep=ft.eq.2
 | 
				
			||||||
    if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then
 | 
					    if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then
 | 
				
			||||||
       write(*,1010) params%nutc,snr,dt,freq
 | 
					       write(*,1010) params%nutc,snr,dt,freq
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
       cflags='   '
 | 
					 | 
				
			||||||
       is_deep=ft.eq.2
 | 
					 | 
				
			||||||
       is_average=nsum.ge.2
 | 
					       is_average=nsum.ge.2
 | 
				
			||||||
       if(params%naggressive.gt.0 .and. ft.gt.0) then
 | 
					       if(params%naggressive.gt.0 .and. ft.gt.0) then
 | 
				
			||||||
          cflags='f  '
 | 
					          cflags='f  '
 | 
				
			||||||
 | 
				
			|||||||
@ -309,7 +309,7 @@ contains
 | 
				
			|||||||
    endif
 | 
					    endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    do i=1,64
 | 
					    do i=1,64
 | 
				
			||||||
       if(nutc.eq.iutc(i) .and. abs(nhz-nfsave(i)).le.ntol) go to 10
 | 
					       if(nutc.eq.iutc(i) .and. abs(nfreq-nfsave(i)).le.ntol) go to 10
 | 
				
			||||||
    enddo
 | 
					    enddo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
! Save data for message averaging
 | 
					! Save data for message averaging
 | 
				
			||||||
 | 
				
			|||||||
@ -188,6 +188,7 @@ contains
 | 
				
			|||||||
          if(ipass.eq.1) ntry65a=ntry65a + 1
 | 
					          if(ipass.eq.1) ntry65a=ntry65a + 1
 | 
				
			||||||
          if(ipass.eq.2) ntry65b=ntry65b + 1
 | 
					          if(ipass.eq.2) ntry65b=ntry65b + 1
 | 
				
			||||||
          call timer('decod65a',0)
 | 
					          call timer('decod65a',0)
 | 
				
			||||||
 | 
					          nft=0
 | 
				
			||||||
          call decode65a(dd,npts,first_time,nqd,freq,nflip,mode65,nvec,     &
 | 
					          call decode65a(dd,npts,first_time,nqd,freq,nflip,mode65,nvec,     &
 | 
				
			||||||
               naggressive,ndepth,ntol,mycall,hiscall,hisgrid,              &
 | 
					               naggressive,ndepth,ntol,mycall,hiscall,hisgrid,              &
 | 
				
			||||||
               nexp_decode,single_decode,sync2,a,dtx,nft,nspecial,qual,     &
 | 
					               nexp_decode,single_decode,sync2,a,dtx,nft,nspecial,qual,     &
 | 
				
			||||||
@ -227,7 +228,7 @@ contains
 | 
				
			|||||||
                nsave=nsave+1
 | 
					                nsave=nsave+1
 | 
				
			||||||
                nsave=mod(nsave-1,64)+1
 | 
					                nsave=mod(nsave-1,64)+1
 | 
				
			||||||
                call avg65(nutc,nsave,sync1,dtx,nflip,nfreq,mode65,ntol,     &
 | 
					                call avg65(nutc,nsave,sync1,dtx,nflip,nfreq,mode65,ntol,     &
 | 
				
			||||||
                     ndepth,ntrials,naggressive,clearave,neme,mycall,      &
 | 
					                     ndepth,nagain,ntrials,naggressive,clearave,neme,mycall, &
 | 
				
			||||||
                     hiscall,hisgrid,nftt,avemsg,qave,deepave,nsum,ndeepave)
 | 
					                     hiscall,hisgrid,nftt,avemsg,qave,deepave,nsum,ndeepave)
 | 
				
			||||||
                nsmo=param(9)
 | 
					                nsmo=param(9)
 | 
				
			||||||
                nqave=qave
 | 
					                nqave=qave
 | 
				
			||||||
@ -299,7 +300,7 @@ contains
 | 
				
			|||||||
  end subroutine decode
 | 
					  end subroutine decode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  subroutine avg65(nutc,nsave,snrsync,dtxx,nflip,nfreq,mode65,ntol,ndepth,    &
 | 
					  subroutine avg65(nutc,nsave,snrsync,dtxx,nflip,nfreq,mode65,ntol,ndepth,    &
 | 
				
			||||||
       ntrials,naggressive,clearave,neme,mycall,hiscall,hisgrid,nftt,      &
 | 
					       nagain, ntrials,naggressive,clearave,neme,mycall,hiscall,hisgrid,nftt, &
 | 
				
			||||||
       avemsg,qave,deepave,nsum,ndeepave)
 | 
					       avemsg,qave,deepave,nsum,ndeepave)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
! Decodes averaged JT65 data
 | 
					! Decodes averaged JT65 data
 | 
				
			||||||
@ -309,6 +310,7 @@ contains
 | 
				
			|||||||
    character*22 avemsg,deepave,deepbest
 | 
					    character*22 avemsg,deepave,deepbest
 | 
				
			||||||
    character mycall*12,hiscall*12,hisgrid*6
 | 
					    character mycall*12,hiscall*12,hisgrid*6
 | 
				
			||||||
    character*1 csync,cused(64)
 | 
					    character*1 csync,cused(64)
 | 
				
			||||||
 | 
					    logical nagain
 | 
				
			||||||
    integer iused(64)
 | 
					    integer iused(64)
 | 
				
			||||||
! Accumulated data for message averaging
 | 
					! Accumulated data for message averaging
 | 
				
			||||||
    integer iutc(MAXAVE)
 | 
					    integer iutc(MAXAVE)
 | 
				
			||||||
@ -337,7 +339,8 @@ contains
 | 
				
			|||||||
    endif
 | 
					    endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    do i=1,64
 | 
					    do i=1,64
 | 
				
			||||||
       if(nutc.eq.iutc(i) .and. abs(nhz-nfsave(i)).le.ntol) go to 10
 | 
					       if(iutc(i).lt.0) exit
 | 
				
			||||||
 | 
					       if(nutc.eq.iutc(i) .and. abs(nfreq-nfsave(i)).le.ntol) go to 10
 | 
				
			||||||
    enddo
 | 
					    enddo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
! Save data for message averaging
 | 
					! Save data for message averaging
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user