mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-31 16:38:35 -04: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)
|
real f0decodes(100)
|
||||||
integer dat4(13) !Decoded message as 12 6-bit integers
|
integer dat4(13) !Decoded message as 12 6-bit integers
|
||||||
integer dgen(13)
|
integer dgen(13)
|
||||||
integer nq65param(0:7)
|
integer nq65param(3)
|
||||||
logical lclearave,lnewdat0,lapcqonly,unpk77_success
|
logical lclearave,lnewdat0,lapcqonly,unpk77_success
|
||||||
logical single_decode,lagain,ex
|
logical single_decode,lagain,ex
|
||||||
complex, allocatable :: c00(:) !Analytic signal, 6000 Sa/s
|
complex, allocatable :: c00(:) !Analytic signal, 6000 Sa/s
|
||||||
@ -135,27 +135,22 @@ contains
|
|||||||
baud=12000.0/nsps
|
baud=12000.0/nsps
|
||||||
this%callback => callback
|
this%callback => callback
|
||||||
nFadingModel=1
|
nFadingModel=1
|
||||||
maxiters=20
|
ibwa=2*mode_q65
|
||||||
ibwa=max(1,int(1.8*log(baud*mode_q65)) + 1)
|
ibwb=ibwa+4
|
||||||
ibwb=min(10,ibwa+2)
|
maxiters=40
|
||||||
if(iand(ndepth,3).ge.2) then
|
if(iand(ndepth,3).eq.2) maxiters=60
|
||||||
ibwa=max(1,int(1.8*log(baud*mode_q65)) + 1)
|
|
||||||
ibwb=min(10,ibwa+5)
|
|
||||||
maxiters=40
|
|
||||||
endif
|
|
||||||
if(iand(ndepth,3).eq.3) then
|
if(iand(ndepth,3).eq.3) then
|
||||||
ibwa=max(1,ibwa-1)
|
ibwa=max(1,ibwa-2)
|
||||||
ibwb=min(10,ibwb+1)
|
ibwb=ibwb+2
|
||||||
maxiters=60
|
maxiters=100
|
||||||
endif
|
endif
|
||||||
inquire(file='q65_params.txt',exist=ex)
|
inquire(file='q65_params.txt',exist=ex)
|
||||||
if(ex) then
|
if(ex) then
|
||||||
open(28,file='q65_params.txt',status='old')
|
open(28,file='q65_params.txt',status='old')
|
||||||
read(28,*) nq65param
|
read(28,*) nq65param
|
||||||
ibwa=max(1,nq65param(nsubmode))
|
ibwa=nq65param(1)
|
||||||
ibwa=min(40,ibwa)
|
ibwb=nq65param(2)
|
||||||
ibwb=ibwa
|
maxiters=nq65param(3)
|
||||||
maxiters=nq65param(4+iand(ndepth,3))
|
|
||||||
close(28)
|
close(28)
|
||||||
endif
|
endif
|
||||||
! write(*,3001) iand(ndepth,3),nsubmode,ibwa,ibwb,maxiters
|
! 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
|
read(c78,1060) apsymbols
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! do ibw=ibwa,ibwb
|
! print*,'a',ibwa,ibwb,maxiters,iimax
|
||||||
!###
|
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
|
|
||||||
!###
|
|
||||||
b90=1.72**ibw
|
b90=1.72**ibw
|
||||||
b90ts=b90/baud
|
b90ts=b90/baud
|
||||||
call q65_dec2(s3,nsubmode,b90ts,esnodb,irc,dat4,decoded)
|
call q65_dec2(s3,nsubmode,b90ts,esnodb,irc,dat4,decoded)
|
||||||
|
Loading…
Reference in New Issue
Block a user