mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@334 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Fortran
		
	
	
	
	
	
|       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
 |