mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	WIP on optimization of Q65-60C decodes with 110 EME Contest files.
This commit is contained in:
		
							parent
							
								
									28a48ae6fc
								
							
						
					
					
						commit
						0a439019b3
					
				@ -73,7 +73,7 @@ contains
 | 
			
		||||
    real f0decodes(100)
 | 
			
		||||
    integer dat4(13)                      !Decoded message as 12 6-bit integers
 | 
			
		||||
    integer dgen(13)
 | 
			
		||||
    integer nq65param(0:7)
 | 
			
		||||
    integer nq65param(3)
 | 
			
		||||
    logical lclearave,lnewdat0,lapcqonly,unpk77_success
 | 
			
		||||
    logical single_decode,lagain,ex
 | 
			
		||||
    complex, allocatable :: c00(:)        !Analytic signal, 6000 Sa/s
 | 
			
		||||
@ -135,27 +135,22 @@ contains
 | 
			
		||||
    baud=12000.0/nsps
 | 
			
		||||
    this%callback => callback
 | 
			
		||||
    nFadingModel=1
 | 
			
		||||
    maxiters=20
 | 
			
		||||
    ibwa=max(1,int(1.8*log(baud*mode_q65)) + 1)
 | 
			
		||||
    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)
 | 
			
		||||
    ibwa=2*mode_q65
 | 
			
		||||
    ibwb=ibwa+4
 | 
			
		||||
    maxiters=40
 | 
			
		||||
    endif
 | 
			
		||||
    if(iand(ndepth,3).eq.2) maxiters=60
 | 
			
		||||
    if(iand(ndepth,3).eq.3) then
 | 
			
		||||
       ibwa=max(1,ibwa-1)
 | 
			
		||||
       ibwb=min(10,ibwb+1)
 | 
			
		||||
       maxiters=60
 | 
			
		||||
       ibwa=max(1,ibwa-2)
 | 
			
		||||
       ibwb=ibwb+2
 | 
			
		||||
       maxiters=100
 | 
			
		||||
    endif
 | 
			
		||||
    inquire(file='q65_params.txt',exist=ex)
 | 
			
		||||
    if(ex) then
 | 
			
		||||
       open(28,file='q65_params.txt',status='old')
 | 
			
		||||
       read(28,*) nq65param
 | 
			
		||||
       ibwa=max(1,nq65param(nsubmode))
 | 
			
		||||
       ibwa=min(40,ibwa)
 | 
			
		||||
       ibwb=ibwa
 | 
			
		||||
       maxiters=nq65param(4+iand(ndepth,3))
 | 
			
		||||
       ibwa=nq65param(1)
 | 
			
		||||
       ibwb=nq65param(2)
 | 
			
		||||
       maxiters=nq65param(3)
 | 
			
		||||
       close(28)
 | 
			
		||||
    endif
 | 
			
		||||
!    write(*,3001) iand(ndepth,3),nsubmode,ibwa,ibwb,maxiters
 | 
			
		||||
 | 
			
		||||
@ -396,18 +396,8 @@ subroutine q65_dec_q012(s3,LL,snr2,dat4,idec,decoded)
 | 
			
		||||
        read(c78,1060) apsymbols
 | 
			
		||||
     endif
 | 
			
		||||
 | 
			
		||||
!     do ibw=ibwa,ibwb
 | 
			
		||||
!###
 | 
			
		||||
     ibw_mid=(ibwa+ibwb)/2
 | 
			
		||||
     iimax=3
 | 
			
		||||
     if(maxiters.eq.40) iimax=5
 | 
			
		||||
     if(maxiters.eq.60) iimax=7
 | 
			
		||||
!     print*,'a',maxiters,ibwa,ibwb,ibw_mid,iimax
 | 
			
		||||
     do ii=1,iimax
 | 
			
		||||
        n=ii/2
 | 
			
		||||
        if(iand(ii,1).eq.0) n=-n
 | 
			
		||||
        ibw=ibw_mid + n
 | 
			
		||||
!###
 | 
			
		||||
!     print*,'a',ibwa,ibwb,maxiters,iimax
 | 
			
		||||
     do ibw=ibwa,ibwb
 | 
			
		||||
        b90=1.72**ibw
 | 
			
		||||
        b90ts=b90/baud
 | 
			
		||||
        call q65_dec2(s3,nsubmode,b90ts,esnodb,irc,dat4,decoded)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user