Implement sensible loop ranges for Fast/Normal/Deep Q65 decoding.

This commit is contained in:
Joe Taylor 2021-04-21 15:57:54 -04:00
parent b99812111d
commit 9e9357b970
2 changed files with 13 additions and 8 deletions

View File

@ -119,12 +119,13 @@ contains
inquire(file='ndepth.dat',exist=ex)
if(.not.ex) ndepth=iand(ndepth,not(3)) + 1 !Treat any ndepth as "Fast"
maxiters=67
maxiters=33
ibwa=max(1,int(1.8*log(baud*mode_q65)) + 1)
ibwb=min(10,ibwa+4)
ibwb=min(10,ibwa+2)
if(iand(ndepth,3).ge.2) then
ibwa=max(1,int(1.8*log(baud*mode_q65)) + 1)
ibwb=min(10,ibwa+5)
maxiters=67
else if(iand(ndepth,3).eq.3) then
ibwa=max(1,ibwa-1)
ibwb=min(10,ibwb+1)

View File

@ -25,16 +25,20 @@ subroutine q65_loops(c00,npts2,nsps2,nsubmode,ndepth,jpk0, &
s3lim=20.
baud=6000.0/nsps2
idfmax=3
idtmax=3
idfmax=1
idtmax=1
maxdist=4
ibw0=(ibwa+ibwb)/2
maxdist=5
if(iand(ndepth,3).ge.2) then
if(iand(ndepth,3).eq.2) then
idfmax=3
idtmax=3
maxdist=5
endif
if(iand(ndepth,3).eq.3) then
idfmax=5
idtmax=5
maxdist=10
maxdist=15
endif
if(iand(ndepth,3).eq.3) maxdist=15
napmin=99
xdt1=xdt0