mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-04 08:21:17 -05:00
Add synctst.f90 and synctst2.f90 to repository.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2546 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
5185405c29
commit
025a4a3473
84
libm65/synctst.f90
Normal file
84
libm65/synctst.f90
Normal file
@ -0,0 +1,84 @@
|
||||
program synctst
|
||||
|
||||
! Tests JT65B2 sync patterns
|
||||
|
||||
parameter (LAGMAX=20)
|
||||
real ccf0(0:LAGMAX),ccf2(0:LAGMAX),ccf3(0:LAGMAX)
|
||||
character*12 arg
|
||||
integer npr(126),np0(126),np1(126),npr2(126)
|
||||
data npr/1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0, &
|
||||
0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1, &
|
||||
0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1, &
|
||||
0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1, &
|
||||
1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1, &
|
||||
0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, &
|
||||
1,1,1,1,1,1/
|
||||
|
||||
nargs=iargc()
|
||||
if(nargs.ne.1) then
|
||||
print*,'Usage: synctst iters'
|
||||
go to 999
|
||||
endif
|
||||
call getarg(1,arg)
|
||||
read(arg,*) iters
|
||||
|
||||
worst=0.
|
||||
do lag=0,LAGMAX
|
||||
nsum=0
|
||||
do i=1,126-lag
|
||||
nsum=nsum + npr(i)*npr(lag+i)
|
||||
enddo
|
||||
ccf0(lag)=2.0*nsum/(126.0-lag)
|
||||
if(lag.ge.1 .and. ccf0(lag).gt.worst) worst=ccf0(lag)
|
||||
enddo
|
||||
|
||||
best2=1.0
|
||||
do iter=1,iters
|
||||
|
||||
10 np0=0
|
||||
np1=0
|
||||
n0=0
|
||||
do i=1,126
|
||||
if(npr(i).eq.1) then
|
||||
call random_number(r)
|
||||
if(r.lt.0.5) then
|
||||
np0(i)=1
|
||||
n0=n0+1
|
||||
else
|
||||
np1(i)=1
|
||||
endif
|
||||
endif
|
||||
enddo
|
||||
if(n0.ne.31 .and. n0.ne.32) go to 10
|
||||
|
||||
worst2=0.
|
||||
do lag=0,LAGMAX
|
||||
nsum=0
|
||||
do i=1,126-lag
|
||||
nsum=nsum + np0(i)*np0(lag+i) + np1(i)*np1(lag+i)
|
||||
enddo
|
||||
ccf2(lag)=2.0*nsum/(126.0-lag)
|
||||
if(lag.ge.1 .and. ccf2(lag).gt.worst2) then
|
||||
worst2=ccf2(lag)
|
||||
lagbad=lag
|
||||
endif
|
||||
enddo
|
||||
if(worst2.lt.best2) then
|
||||
best2=worst2
|
||||
lagbest=lagbad
|
||||
n0best=n0
|
||||
ccf3=ccf2
|
||||
npr2=np0 + 2*np1
|
||||
endif
|
||||
enddo
|
||||
|
||||
do lag=0,LAGMAX
|
||||
write(13,1100) lag,ccf0(lag),ccf3(lag)
|
||||
1100 format(i3,2f10.3)
|
||||
enddo
|
||||
|
||||
print*,worst,best2,n0best,lagbest
|
||||
write(*,1110) npr2
|
||||
1110 format((8x,20(i1,',')))
|
||||
|
||||
999 end program synctst
|
91
libm65/synctst2.f90
Normal file
91
libm65/synctst2.f90
Normal file
@ -0,0 +1,91 @@
|
||||
program synctst2
|
||||
|
||||
! Tests JT65B2 sync patterns
|
||||
|
||||
parameter (LAGMAX=20)
|
||||
real ccf0(0:LAGMAX),ccf1(0:LAGMAX),ccf2(0:LAGMAX),ccf3(0:LAGMAX)
|
||||
character arg*12,line*64
|
||||
integer*8 n8
|
||||
integer npr(126),np0(126),np1(126),npr1(126),npr2(126)
|
||||
data npr/1,0,0,1,1,0,0,0,1,1,1,1,1,1,0,1,0,1,0,0, &
|
||||
0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1, &
|
||||
0,1,1,0,1,1,1,1,0,0,0,1,1,0,1,0,1,0,1,1, &
|
||||
0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,1, &
|
||||
1,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1, &
|
||||
0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, &
|
||||
1,1,1,1,1,1/
|
||||
|
||||
data npr2/1,0,0,1,2,0,0,0,2,1,1,2,2,2,0,2,0,2,0,0, &
|
||||
0,1,0,2,1,0,0,1,0,0,0,2,1,1,0,0,1,1,2,2, &
|
||||
0,2,2,0,2,1,1,1,0,0,0,1,2,0,1,0,2,0,1,1, &
|
||||
0,0,2,2,0,1,0,1,0,2,0,0,2,0,0,0,0,0,0,1, &
|
||||
1,0,0,0,0,0,0,0,1,2,0,2,0,0,2,0,2,1,0,1, &
|
||||
0,2,0,1,0,0,2,2,0,0,1,0,0,2,0,0,0,0,1,1, &
|
||||
1,2,1,2,1,2/
|
||||
|
||||
data n8/x'4314f4725bb357e0'/
|
||||
|
||||
write(*,1102) n8
|
||||
write(line,1102) n8
|
||||
1102 format(b63)
|
||||
read(line,1104) npr1(1:63)
|
||||
1104 format(63i1)
|
||||
npr1(64:126)=npr1(1:63)
|
||||
|
||||
worst=0.
|
||||
do lag=0,LAGMAX
|
||||
nsum=0
|
||||
do i=1,126-lag
|
||||
nsum=nsum + npr(i)*npr(lag+i)
|
||||
enddo
|
||||
ccf0(lag)=2.0*nsum/(126.0-lag)
|
||||
if(lag.ge.1 .and. ccf0(lag).gt.worst) worst=ccf0(lag)
|
||||
enddo
|
||||
|
||||
|
||||
worst1=0.
|
||||
do lag=0,LAGMAX
|
||||
nsum=0
|
||||
do i=1,126-lag
|
||||
nsum=nsum + npr1(i)*npr1(lag+i)
|
||||
enddo
|
||||
ccf1(lag)=(63.0/64.0)*2.0*nsum/(126.0-lag)
|
||||
if(lag.ge.1 .and. ccf1(lag).gt.worst1) worst1=ccf1(lag)
|
||||
enddo
|
||||
ccf1=ccf1/ccf1(0)
|
||||
worst1=worst1/ccf1(0)
|
||||
|
||||
np0=0
|
||||
np1=0
|
||||
n0=0
|
||||
do i=1,126
|
||||
if(npr2(i).eq.1) then
|
||||
np0(i)=1
|
||||
n0=n0+1
|
||||
else if(npr2(i).eq.2) then
|
||||
np1(i)=1
|
||||
endif
|
||||
enddo
|
||||
|
||||
worst2=0.
|
||||
do lag=0,LAGMAX
|
||||
nsum=0
|
||||
do i=1,126-lag
|
||||
nsum=nsum + np0(i)*np0(lag+i) + np1(i)*np1(lag+i)
|
||||
enddo
|
||||
ccf2(lag)=2.0*nsum/(126.0-lag)
|
||||
if(lag.ge.1 .and. ccf2(lag).gt.worst2) then
|
||||
worst2=ccf2(lag)
|
||||
lagbad=lag
|
||||
endif
|
||||
enddo
|
||||
|
||||
do lag=0,LAGMAX
|
||||
write(13,1100) lag,ccf0(lag),ccf1(lag),ccf2(lag)
|
||||
1100 format(i3,3f10.3)
|
||||
enddo
|
||||
|
||||
print*,worst,worst1,worst2,n0,lagbad
|
||||
|
||||
|
||||
999 end program synctst2
|
@ -1,4 +1,4 @@
|
||||
//-------------------------------------------------------------- MainWindow
|
||||
//--------------------------------------------------------------- MainWindow
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include "devsetup.h"
|
||||
|
Loading…
Reference in New Issue
Block a user