mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 04:11:16 -05:00
Merge branch 'release-2.1.0' of bitbucket.org:k1jt/wsjtx into release-2.1.0
This commit is contained in:
commit
67b9f327a5
@ -11,7 +11,7 @@ program ft4d
|
||||
character*4 cqstr
|
||||
real*8 fMHz
|
||||
integer ihdr(11)
|
||||
integer*2 iwave(180000) !15*12000
|
||||
integer*2 iwave(240000) !20*12000
|
||||
|
||||
fs=12000.0/NDOWN !Sample rate
|
||||
dt=1/fs !Sample interval after downsample (s)
|
||||
|
@ -27,7 +27,7 @@ subroutine getcandidates4(id,fa,fb,syncmin,nfqso,maxcand,savg,candidate, &
|
||||
! Compute symbol spectra, stepping by NSTEP steps.
|
||||
savg=0.
|
||||
tstep=NSTEP/12000.0
|
||||
df=12000.0/NFFT1 !5.86 Hz
|
||||
df=12000.0/NFFT1
|
||||
fac=1.0/300.0
|
||||
do j=1,NHSYM
|
||||
ia=(j-1)*NSTEP + 1
|
||||
@ -55,22 +55,31 @@ subroutine getcandidates4(id,fa,fb,syncmin,nfqso,maxcand,savg,candidate, &
|
||||
indx=0
|
||||
call indexx(savsm(n300:n2500),np,indx)
|
||||
xn=savsm(nfa+indx(nint(0.3*np)))
|
||||
savsm=savsm/xn
|
||||
|
||||
ncand=0
|
||||
if(xn.le.1.e-8) return
|
||||
savsm=savsm/xn
|
||||
! call ft4_baseline(savg,nfa,nfb,sbase)
|
||||
! savsm=savsm/sbase
|
||||
|
||||
f_offset = -1.5*12000/512
|
||||
do i=nfa+1,nfb-1
|
||||
if(savsm(i).ge.savsm(i-1) .and. savsm(i).ge.savsm(i+1) .and. savsm(i).ge.syncmin) then
|
||||
! del=0.5*(savsm(i-1)-savsm(i+1))/(savsm(i-1)-2*savsm(i)+savsm(i+1))
|
||||
del=0.
|
||||
fpeak=(i+del)*df+f_offset
|
||||
speak=savsm(i) - 0.25*(savsm(i-1)-savsm(i+1))*del
|
||||
ncand=ncand+1
|
||||
candidate(1,ncand)=fpeak
|
||||
candidate(2,ncand)=-99.99
|
||||
candidate(3,ncand)=speak
|
||||
if(ncand.eq.maxcand) exit
|
||||
endif
|
||||
if(savsm(i).ge.savsm(i-1) .and. savsm(i).ge.savsm(i+1) .and. &
|
||||
savsm(i).ge.syncmin) then
|
||||
den=savsm(i-1)-2*savsm(i)+savsm(i+1)
|
||||
del=0.
|
||||
if(den.ne.0.0) del=0.5*(savsm(i-1)-savsm(i+1))/den
|
||||
fpeak=(i+del)*df+f_offset
|
||||
speak=savsm(i) - 0.25*(savsm(i-1)-savsm(i+1))*del
|
||||
ncand=ncand+1
|
||||
if(ncand.gt.maxcand) then
|
||||
ncand=maxcand
|
||||
exit
|
||||
endif
|
||||
candidate(1,ncand)=fpeak
|
||||
candidate(2,ncand)=-99.99
|
||||
candidate(3,ncand)=speak
|
||||
if(ncand.eq.maxcand) exit
|
||||
endif
|
||||
enddo
|
||||
|
||||
return
|
||||
|
Loading…
Reference in New Issue
Block a user