2021-05-11 12:50:18 -04:00
|
|
|
program synctest
|
|
|
|
|
2021-05-12 14:30:53 -04:00
|
|
|
! Program to test an algorithm for detecting sync signals for both
|
|
|
|
! JT65 and Q65-60x signals and rejecting birdies in MAP65 data.
|
2021-05-13 11:24:26 -04:00
|
|
|
! The important work is done in module wideband_sync.
|
2021-05-12 14:30:53 -04:00
|
|
|
|
2021-05-11 12:50:18 -04:00
|
|
|
use timer_module, only: timer
|
|
|
|
use timer_impl, only: init_timer, fini_timer
|
2021-05-13 11:24:26 -04:00
|
|
|
use wideband_sync
|
2021-05-12 16:34:00 -04:00
|
|
|
|
2021-05-11 12:50:18 -04:00
|
|
|
real ss(4,322,NFFT),savg(4,NFFT)
|
2021-05-12 14:30:53 -04:00
|
|
|
! real candidate(MAX_CANDIDATES,5) !snr1,f0,xdt0,ipol,flip
|
2021-05-11 12:50:18 -04:00
|
|
|
character*8 arg
|
2021-05-12 14:30:53 -04:00
|
|
|
type(candidate) :: cand(MAX_CANDIDATES)
|
|
|
|
|
2021-05-11 15:19:27 -04:00
|
|
|
nargs=iargc()
|
|
|
|
if(nargs.ne.5) then
|
|
|
|
print*,'Usage: synctest iutc nfa nfb nts_jt65 nts_q65'
|
|
|
|
print*,'Example: synctest 1814 23 83 2 1'
|
|
|
|
go to 999
|
|
|
|
endif
|
2021-05-11 12:50:18 -04:00
|
|
|
call getarg(1,arg)
|
|
|
|
read (arg,*) iutc
|
2021-05-11 15:19:27 -04:00
|
|
|
call getarg(2,arg)
|
|
|
|
read (arg,*) nfa
|
|
|
|
call getarg(3,arg)
|
|
|
|
read (arg,*) nfb
|
|
|
|
call getarg(4,arg)
|
|
|
|
read (arg,*) nts_jt65
|
|
|
|
call getarg(5,arg)
|
|
|
|
read (arg,*) nts_q65
|
|
|
|
|
|
|
|
open(50,file='50.a',form='unformatted',status='old')
|
|
|
|
do ifile=1,9999
|
|
|
|
read(50,end=998) nutc,npol,ss(1:npol,:,:),savg(1:npol,:)
|
2021-05-11 12:50:18 -04:00
|
|
|
if(nutc.eq.iutc) exit
|
|
|
|
enddo
|
|
|
|
close(50)
|
|
|
|
|
|
|
|
call init_timer('timer.out')
|
|
|
|
call timer('synctest',0)
|
2021-05-11 15:19:27 -04:00
|
|
|
|
|
|
|
call timer('get_cand',0)
|
2021-05-12 14:30:53 -04:00
|
|
|
call get_candidates(ss,savg,nfa,nfb,nts_jt65,nts_q65,cand,ncand)
|
2021-05-11 15:19:27 -04:00
|
|
|
call timer('get_cand',1)
|
2021-05-11 14:53:49 -04:00
|
|
|
|
|
|
|
do k=1,ncand
|
2021-05-12 14:30:53 -04:00
|
|
|
write(*,1010) k,cand(k)%snr,cand(k)%f,cand(k)%f+77,cand(k)%xdt, &
|
|
|
|
cand(k)%ipol,cand(k)%iflip
|
|
|
|
1010 format(i3,4f10.3,2i3)
|
2021-05-11 14:53:49 -04:00
|
|
|
enddo
|
|
|
|
|
2021-05-11 15:19:27 -04:00
|
|
|
998 call timer('synctest',1)
|
2021-05-11 14:53:49 -04:00
|
|
|
call timer('synctest',101)
|
|
|
|
call fini_timer()
|
|
|
|
|
2021-05-11 15:19:27 -04:00
|
|
|
999 end program synctest
|