mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 05:38:46 -05:00
2c17544f3f
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/WSJT/trunk@1 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
45 lines
1.3 KiB
Fortran
45 lines
1.3 KiB
Fortran
subroutine avemsg65(mseg,mode65,ndepth,decoded,nused,ns,ncount)
|
|
|
|
C Decodes averaged JT65 data for the specified segment (mseg=1 or 2).
|
|
|
|
parameter (MAXAVE=120) !Max avg count is 120
|
|
character decoded*22
|
|
real s3(64,63)
|
|
common/ave/ppsave(64,63,MAXAVE),nflag(MAXAVE),nsave,iseg(MAXAVE)
|
|
|
|
C Count the available spectra for this Monitor segment (mseg=1 or 2),
|
|
C and the number of spectra flagged as good.
|
|
|
|
nused=0
|
|
ns=0
|
|
do i=1,nsave
|
|
if(iseg(i).eq.mseg) then
|
|
ns=ns+1
|
|
if(nflag(i).eq.1) nused=nused+1
|
|
endif
|
|
enddo
|
|
if(nused.lt.1) go to 100
|
|
|
|
C Compute the average of all flagged spectra for this segment.
|
|
do j=1,63
|
|
call zero(s3(1,j),64)
|
|
do n=1,nsave
|
|
if(nflag(n).eq.1 .and. iseg(n).eq.mseg) then
|
|
call add(s3(1,j),ppsave(1,j,n),s3(1,j),64)
|
|
endif
|
|
enddo
|
|
enddo
|
|
|
|
nadd=nused*mode65
|
|
call extract(s3,nadd,ndepth,ncount,decoded) !Extract the message
|
|
100 if(nused.lt.1.or.ncount.lt.0) decoded=' '
|
|
|
|
C Suppress "birdie messages":
|
|
if(decoded(1:7).eq.'000AAA ') decoded=' '
|
|
if(decoded(1:7).eq.'0L6MWK ') decoded=' '
|
|
|
|
! print*,mseg,nused,' ',decoded
|
|
|
|
return
|
|
end
|