mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 02:12:37 -04:00
Protect against bad inferred candidate frequencies f0 in FT4 mode.
This commit is contained in:
parent
e4ebddcf13
commit
54cd97f918
@ -182,6 +182,7 @@ subroutine ft4_decode(cdatetime0,tbuf,nfa,nfb,nQSOProgress,ncontest,nfqso, &
|
|||||||
ndecodes=0
|
ndecodes=0
|
||||||
do icand=1,ncand
|
do icand=1,ncand
|
||||||
f0=candidate(1,icand)
|
f0=candidate(1,icand)
|
||||||
|
if(f0.le.max(fa,10.0) .or. f0.ge.min(fb,4990.0)) cycle
|
||||||
snr=candidate(3,icand)-1.0
|
snr=candidate(3,icand)-1.0
|
||||||
if( f0.le.10.0 .or. f0.ge.4990.0 ) cycle
|
if( f0.le.10.0 .or. f0.ge.4990.0 ) cycle
|
||||||
call clockit('ft4_down',0)
|
call clockit('ft4_down',0)
|
||||||
|
@ -61,14 +61,15 @@ subroutine getcandidates4(id,fa,fb,syncmin,nfqso,maxcand,savg,candidate, &
|
|||||||
f_offset = -1.5*12000/512
|
f_offset = -1.5*12000/512
|
||||||
do i=nfa+1,nfb-1
|
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
|
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.5*(savsm(i-1)-savsm(i+1))/(savsm(i-1)-2*savsm(i)+savsm(i+1))
|
||||||
|
del=0.
|
||||||
fpeak=(i+del)*df+f_offset
|
fpeak=(i+del)*df+f_offset
|
||||||
speak=savsm(i) - 0.25*(savsm(i-1)-savsm(i+1))*del
|
speak=savsm(i) - 0.25*(savsm(i-1)-savsm(i+1))*del
|
||||||
ncand=ncand+1
|
ncand=ncand+1
|
||||||
if(ncand.gt.maxcand) exit
|
|
||||||
candidate(1,ncand)=fpeak
|
candidate(1,ncand)=fpeak
|
||||||
candidate(2,ncand)=-99.99
|
candidate(2,ncand)=-99.99
|
||||||
candidate(3,ncand)=speak
|
candidate(3,ncand)=speak
|
||||||
|
if(ncand.eq.maxcand) exit
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user