mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-06-27 23:45:17 -04:00
Clean up sync routine; add 'peakup' in f and t directions.
This commit is contained in:
parent
6d72b295c8
commit
577f6f3097
@ -1,4 +1,4 @@
|
|||||||
subroutine sfox_sync(crcvd,fsample,isync,f,t,f1,xdt)
|
subroutine sfox_sync(crcvd,fsample,isync,f,t)
|
||||||
|
|
||||||
use sfox_mod
|
use sfox_mod
|
||||||
complex crcvd(NMAX) !Signal as received
|
complex crcvd(NMAX) !Signal as received
|
||||||
@ -6,8 +6,8 @@ subroutine sfox_sync(crcvd,fsample,isync,f,t,f1,xdt)
|
|||||||
integer isync(50)
|
integer isync(50)
|
||||||
real, allocatable :: s(:,:) !Symbol spectra, 1/8 symbol steps
|
real, allocatable :: s(:,:) !Symbol spectra, 1/8 symbol steps
|
||||||
real, allocatable :: ccf(:,:) !
|
real, allocatable :: ccf(:,:) !
|
||||||
character*1 line(-30:30),mark(0:6)
|
! character*1 line(-30:30),mark(0:6)
|
||||||
data mark/' ','.','-','+','X','$','#'/
|
! data mark/' ','.','-','+','X','$','#'/
|
||||||
|
|
||||||
nh=NFFT1/2 !1024
|
nh=NFFT1/2 !1024
|
||||||
istep=nh/8 !128
|
istep=nh/8 !128
|
||||||
@ -57,26 +57,12 @@ subroutine sfox_sync(crcvd,fsample,isync,f,t,f1,xdt)
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
dfreq=ipk*df
|
call peakup(ccf(ipk-1,jpk),ccf(ipk,jpk),ccf(ipk+1,jpk),dxi)
|
||||||
|
call peakup(ccf(ipk,jpk-1),ccf(ipk,jpk),ccf(ipk,jpk+1),dxj)
|
||||||
|
|
||||||
|
dfreq=(ipk+dxi)*df
|
||||||
f=1500.0+dfreq
|
f=1500.0+dfreq
|
||||||
t=(jpk-201)*istep/fsample
|
t=(jpk+dxj-201.0)*istep/fsample
|
||||||
if(NS.ne.-99) go to 900
|
|
||||||
|
|
||||||
ferr=f-f1
|
return
|
||||||
terr=t-xdt
|
|
||||||
if(abs(ferr).lt.5.357 .and. abs(terr).lt.0.0233) go to 900
|
|
||||||
|
|
||||||
ccf=ccf/pmax
|
|
||||||
do j=jpk-10,jpk+10
|
|
||||||
do i=-iz,iz
|
|
||||||
k=6.001*ccf(i,j)
|
|
||||||
line(i)=mark(k)
|
|
||||||
enddo
|
|
||||||
write(*,1000) j,line(-iz:iz)
|
|
||||||
1000 format(i5,2x,61a1)
|
|
||||||
enddo
|
|
||||||
write(*,1100) ferr,terr
|
|
||||||
1100 format('ferr:',f7.1,' terr:',f7.2)
|
|
||||||
|
|
||||||
900 return
|
|
||||||
end subroutine sfox_sync
|
end subroutine sfox_sync
|
||||||
|
@ -33,8 +33,8 @@ program sfoxtest
|
|||||||
|
|
||||||
! Shortcut: this is OK for NS <= 24 only
|
! Shortcut: this is OK for NS <= 24 only
|
||||||
data isync(1:24)/ 21, 94, 55,125, 94, 29, 11, 64, 63, 6, &
|
data isync(1:24)/ 21, 94, 55,125, 94, 29, 11, 64, 63, 6, &
|
||||||
59, 67, 52, 39,116, 98, 67, 68, 75, 87, &
|
59, 67, 52, 39,116, 98, 67, 68, 75, 87, &
|
||||||
64, 64, 64, 64/
|
116, 22,113,105/
|
||||||
|
|
||||||
nargs=iargc()
|
nargs=iargc()
|
||||||
if(nargs.ne.11) then
|
if(nargs.ne.11) then
|
||||||
@ -107,9 +107,9 @@ program sfoxtest
|
|||||||
|
|
||||||
rms=100.
|
rms=100.
|
||||||
baud=fsample/nsps !Keying rate, 11.719 baud for nsps=1024
|
baud=fsample/nsps !Keying rate, 11.719 baud for nsps=1024
|
||||||
idum=-1
|
|
||||||
bandwidth_ratio=2500.0/fsample
|
bandwidth_ratio=2500.0/fsample
|
||||||
fgood0=1.0
|
fgood0=1.0
|
||||||
|
! isync(NS-3:NS)=NQ/2 !Set last few sync symbols to NQ/2
|
||||||
|
|
||||||
! Generate a message
|
! Generate a message
|
||||||
msg0=0
|
msg0=0
|
||||||
@ -181,7 +181,7 @@ program sfoxtest
|
|||||||
else
|
else
|
||||||
! Find signal freq and DT
|
! Find signal freq and DT
|
||||||
call timer('sync ',0)
|
call timer('sync ',0)
|
||||||
call sfox_sync(crcvd,fsample,isync,f,t,f1,xdt)
|
call sfox_sync(crcvd,fsample,isync,f,t)
|
||||||
call timer('sync ',1)
|
call timer('sync ',1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user