Q65-style sync basically working. Have not yet proceeded to decode step.

This commit is contained in:
Joe Taylor 2024-02-26 13:14:33 -05:00
parent 271c2eec6c
commit cbb42e9cdd
2 changed files with 19 additions and 11 deletions

View File

@ -4,7 +4,7 @@ subroutine sfox_sync(iwave,fsample,isync,f,t)
parameter (NSTEP=8) parameter (NSTEP=8)
integer*2 iwave(0:NMAX-1) integer*2 iwave(0:NMAX-1)
integer isync(44) integer isync(44)
integer ipeak(1) integer ipeak(2)
complex, allocatable :: c(:) !Work array complex, allocatable :: c(:) !Work array
real x(171) real x(171)
real, allocatable :: s(:,:) !Symbol spectra, stepped by NSTEP real, allocatable :: s(:,:) !Symbol spectra, stepped by NSTEP
@ -24,7 +24,7 @@ subroutine sfox_sync(iwave,fsample,isync,f,t)
ia=nint((fsync-ftol)/df) ia=nint((fsync-ftol)/df)
ib=nint((fsync+ftol)/df) ib=nint((fsync+ftol)/df)
lagmax=1.0/dtstep lagmax=1.0/dtstep
lag1=0 lag1=-lagmax
lag2=lagmax lag2=lagmax
x=0. x=0.
@ -93,16 +93,24 @@ subroutine sfox_sync(iwave,fsample,isync,f,t)
lagbest=lagpk lagbest=lagpk
endif endif
enddo ! i enddo ! i
f=ibest*df + bw/2
t=lagbest*dtstep ipeak=maxloc(ccf)
! write(*,4100) ibest,lagbest,f,t ipk=ipeak(1)-1+ia
!4100 format(2i6,f10.1,f10.3) jpk=ipeak(2)-1+lag1
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)
f=ibest*df + bw/2 + dxi*df
t=lagbest*dtstep + dxj*dtstep
! write(*,4100) ibest,lagbest,f,dxi*df,t,dxj*dtstep
!4100 format(2i6,2f10.1,2f10.3)
! print*,'aaa',ibest,lagbest ! print*,'aaa',ibest,lagbest
do lag=lag1,lag2 ! do lag=lag1,lag2
write(51,3051) lag*dtstep,ccf(ibest,lag) ! write(51,3051) lag*dtstep,ccf(ibest,lag)
3051 format(2f12.4) !3051 format(2f12.4)
enddo ! enddo
return return
end subroutine sfox_sync end subroutine sfox_sync

View File

@ -169,7 +169,7 @@ program sfoxtest
f1=f0 f1=f0
if(f0.eq.0.0) then if(f0.eq.0.0) then
f1=1500.0 + 20.0*(ran1(idum)-0.5) f1=1500.0 + 20.0*(ran1(idum)-0.5)
! xdt=0.3*ran1(idum) xdt=ran1(idum)-0.5
endif endif
call timer('gen ',0) call timer('gen ',0)
! Generate cdat, the SuperFox waveform ! Generate cdat, the SuperFox waveform