mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-26 22:28:41 -05:00
c43bfde2ed
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
|