mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	
		
			
	
	
		
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			FortranFixed
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			FortranFixed
		
	
	
	
	
	
|  |       subroutine decode65b(s2,flip,nkv,nhist,qual,decoded)
 | ||
|  | 
 | ||
|  |       real s2(256,126)
 | ||
|  |       real s3(64,63)
 | ||
|  |       logical first
 | ||
|  |       character decoded*22,deepmsg*22
 | ||
|  |       character mycall*12,hiscall*12,hisgrid*6
 | ||
|  | !      include 'avecom.h'
 | ||
|  |       include 'prcom.h'
 | ||
|  |       data first/.true./
 | ||
|  |       save
 | ||
|  | 
 | ||
|  |       if(first) call setup65
 | ||
|  |       first=.false.
 | ||
|  | 
 | ||
|  |       call setup65
 | ||
|  |       do j=1,63
 | ||
|  |          k=mdat(j)                       !Points to data symbol
 | ||
|  |          if(flip.lt.0.0) k=mdat2(j)
 | ||
|  |          do i=1,64
 | ||
|  |             s3(i,j)=s2(i+2,k)            !### Check the "i+2" ###
 | ||
|  |          enddo
 | ||
|  |       enddo
 | ||
|  |       mode65=2
 | ||
|  |       nadd=mode65
 | ||
|  | 
 | ||
|  |       call extract(s3,nadd,ncount,nhist,decoded)     !Extract the message
 | ||
|  | C  Suppress "birdie messages":
 | ||
|  |       if(decoded(1:7).eq.'000AAA ') ncount=-1
 | ||
|  |       if(decoded(1:7).eq.'0L6MWK ') ncount=-1
 | ||
|  |       nkv=1
 | ||
|  |       if(ncount.lt.0) then 
 | ||
|  |          nkv=0
 | ||
|  |          decoded='                      '
 | ||
|  |       endif
 | ||
|  | 
 | ||
|  |       qual=0.
 | ||
|  |       if(nkv.eq.0) then
 | ||
|  |          mycall='K1JT'
 | ||
|  |          hiscall='W1ABC'
 | ||
|  |          hisgrid='EM79'
 | ||
|  |          neme=0
 | ||
|  |          nsked=0
 | ||
|  |          ndepth=5
 | ||
|  |          if(ndepth.ge.1) call deep65(s3,mode65,neme,
 | ||
|  |      +        nsked,flip,mycall,hiscall,hisgrid,deepmsg,qual)
 | ||
|  | 
 | ||
|  | C  Save symbol spectra for possible decoding of average.
 | ||
|  | !      do j=1,63
 | ||
|  | !         k=mdat(j)
 | ||
|  | !         if(flip.lt.0.0) k=mdat2(j)
 | ||
|  | !         call move(s2(8,k),ppsave(1,j,nsave),64)
 | ||
|  | !      enddo
 | ||
|  |       endif
 | ||
|  | 
 | ||
|  |       if(nkv.eq.0 .and. qual.ge.1.0) decoded=deepmsg
 | ||
|  | 
 | ||
|  |       return
 | ||
|  |       end
 |