mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-16 09:01:59 -05:00
45 lines
1.3 KiB
FortranFixed
45 lines
1.3 KiB
FortranFixed
|
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
|