mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-15 16:42:12 -05:00
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280
This commit is contained in:
commit
5b804d90a3
@ -101,7 +101,7 @@ write(*,'(24i1)') msgbits(51:74)
|
|||||||
llr=2.0*rxdata/(ss*ss)
|
llr=2.0*rxdata/(ss*ss)
|
||||||
apmask=0
|
apmask=0
|
||||||
dmin=0.0
|
dmin=0.0
|
||||||
maxosd=2
|
maxosd=0
|
||||||
call decode240_74(llr, Keff, maxosd, norder, apmask, message74, cw, ntype, nharderror, dmin)
|
call decode240_74(llr, Keff, maxosd, norder, apmask, message74, cw, ntype, nharderror, dmin)
|
||||||
if(nharderror.ge.0) then
|
if(nharderror.ge.0) then
|
||||||
n2err=0
|
n2err=0
|
||||||
|
@ -217,7 +217,6 @@ contains
|
|||||||
|
|
||||||
if(ndepth.eq.3) then
|
if(ndepth.eq.3) then
|
||||||
nblock=4
|
nblock=4
|
||||||
if(hmod.eq.1) nblock=4 ! number of block sizes to try
|
|
||||||
jittermax=2
|
jittermax=2
|
||||||
norder=3
|
norder=3
|
||||||
elseif(ndepth.eq.2) then
|
elseif(ndepth.eq.2) then
|
||||||
@ -259,8 +258,8 @@ contains
|
|||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
if(hmod.eq.2) nsyncoh=1
|
if(hmod.eq.2) nsyncoh=1
|
||||||
if(hmod.eq.4) nsyncoh=1
|
if(hmod.eq.4) nsyncoh=-2
|
||||||
if(hmod.eq.8) nsyncoh=1
|
if(hmod.eq.8) nsyncoh=-4
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do iqorw=itype1,itype2 ! iqorw=1 for QSO mode and iqorw=2 for wspr-type messages
|
do iqorw=itype1,itype2 ! iqorw=1 for QSO mode and iqorw=2 for wspr-type messages
|
||||||
@ -284,7 +283,7 @@ contains
|
|||||||
if(ntrperiod.eq.15) minsync=1.15
|
if(ntrperiod.eq.15) minsync=1.15
|
||||||
if(ntrperiod.gt.15) minsync=1.20
|
if(ntrperiod.gt.15) minsync=1.20
|
||||||
elseif(hmod.gt.1) then
|
elseif(hmod.gt.1) then
|
||||||
minsync=1.5
|
minsync=1.2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! Get first approximation of candidate frequencies
|
! Get first approximation of candidate frequencies
|
||||||
@ -391,7 +390,6 @@ contains
|
|||||||
fc_synced=candidates(icand,3)
|
fc_synced=candidates(icand,3)
|
||||||
isbest=nint(candidates(icand,4))
|
isbest=nint(candidates(icand,4))
|
||||||
xdt=(isbest-nspsec)/fs2
|
xdt=(isbest-nspsec)/fs2
|
||||||
|
|
||||||
if(ntrperiod.eq.15) xdt=(isbest-real(nspsec)/2.0)/fs2
|
if(ntrperiod.eq.15) xdt=(isbest-real(nspsec)/2.0)/fs2
|
||||||
call fst240_downsample(c_bigfft,nfft1,ndown,fc_synced,sigbw,c2)
|
call fst240_downsample(c_bigfft,nfft1,ndown,fc_synced,sigbw,c2)
|
||||||
|
|
||||||
@ -419,7 +417,6 @@ contains
|
|||||||
ns5=count(hbits(305:320).eq.(/0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0/))
|
ns5=count(hbits(305:320).eq.(/0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0/))
|
||||||
nsync_qual=ns1+ns2+ns3+ns4+ns5
|
nsync_qual=ns1+ns2+ns3+ns4+ns5
|
||||||
! if(nsync_qual.lt. 46) cycle !### Value ?? ###
|
! if(nsync_qual.lt. 46) cycle !### Value ?? ###
|
||||||
|
|
||||||
scalefac=2.83
|
scalefac=2.83
|
||||||
llra( 1: 60)=bitmetrics( 17: 76, 1)
|
llra( 1: 60)=bitmetrics( 17: 76, 1)
|
||||||
llra( 61:120)=bitmetrics( 93:152, 1)
|
llra( 61:120)=bitmetrics( 93:152, 1)
|
||||||
@ -462,11 +459,15 @@ contains
|
|||||||
apmask=0
|
apmask=0
|
||||||
iaptype=0
|
iaptype=0
|
||||||
endif
|
endif
|
||||||
napwid=1.2*(4.0*baud*hmod)
|
|
||||||
|
|
||||||
if(itry.gt.nblock) then
|
if(itry.gt.nblock) then
|
||||||
if(nblock.eq.1) llr=llra
|
llr=llra
|
||||||
if(nblock.gt.1) llr=llrc
|
if(nblock.gt.1) then
|
||||||
|
if(hmod.eq.1) llr=llrd
|
||||||
|
if(hmod.eq.2) llr=llrb
|
||||||
|
if(hmod.eq.4) llr=llrc
|
||||||
|
if(hmod.eq.8) llr=llrd
|
||||||
|
endif
|
||||||
iaptype=naptypes(nQSOProgress,itry-nblock)
|
iaptype=naptypes(nQSOProgress,itry-nblock)
|
||||||
if(lapcqonly) iaptype=1
|
if(lapcqonly) iaptype=1
|
||||||
if(iaptype.ge.2 .and. apbits(1).gt.1) cycle ! No, or nonstandard, mycall
|
if(iaptype.ge.2 .and. apbits(1).gt.1) cycle ! No, or nonstandard, mycall
|
||||||
@ -563,7 +564,7 @@ contains
|
|||||||
nsnr=nint(xsnr)
|
nsnr=nint(xsnr)
|
||||||
qual=0.
|
qual=0.
|
||||||
fsig=fc_synced - 1.5*hmod*baud
|
fsig=fc_synced - 1.5*hmod*baud
|
||||||
! write(21,'(i6,8i6,f7.1,f9.2,f7.1,1x,f7.2,1x,f7.1,1x,a37)') &
|
! write(21,'(i6.6,8i6,f7.1,f10.2,f7.1,1x,f7.2,1x,f7.1,1x,a37)') &
|
||||||
! nutc,icand,itry,nsyncoh,iaptype,ijitter,ntype,nsync_qual,nharderrors,dmin,sync,xsnr,xdt,fsig,msg
|
! nutc,icand,itry,nsyncoh,iaptype,ijitter,ntype,nsync_qual,nharderrors,dmin,sync,xsnr,xdt,fsig,msg
|
||||||
! flush(21)
|
! flush(21)
|
||||||
call this%callback(nutc,smax1,nsnr,xdt,fsig,msg, &
|
call this%callback(nutc,smax1,nsnr,xdt,fsig,msg, &
|
||||||
@ -676,16 +677,22 @@ contains
|
|||||||
do i=1,8
|
do i=1,8
|
||||||
do isub=1,nsub
|
do isub=1,nsub
|
||||||
is=(i-1)*nss+(isub-1)*nps
|
is=(i-1)*nss+(isub-1)*nps
|
||||||
|
z1=0.0
|
||||||
if(i1+is.ge.1) then
|
if(i1+is.ge.1) then
|
||||||
s1=s1+abs(sum(cd0(i1+is:i1+is+nps-1)*conjg(csynct1(is+1:is+nps))))
|
z1=sum(cd0(i1+is:i1+is+nps-1)*conjg(csynct1(is+1:is+nps)))
|
||||||
endif
|
endif
|
||||||
s2=s2+abs(sum(cd0(i2+is:i2+is+nps-1)*conjg(csynct1(is+1:is+nps))))
|
z2=sum(cd0(i2+is:i2+is+nps-1)*conjg(csynct2(is+1:is+nps)))
|
||||||
s3=s3+abs(sum(cd0(i3+is:i3+is+nps-1)*conjg(csynct1(is+1:is+nps))))
|
z3=sum(cd0(i3+is:i3+is+nps-1)*conjg(csynct1(is+1:is+nps)))
|
||||||
s4=s4+abs(sum(cd0(i4+is:i4+is+nps-1)*conjg(csynct1(is+1:is+nps))))
|
z4=sum(cd0(i4+is:i4+is+nps-1)*conjg(csynct2(is+1:is+nps)))
|
||||||
s5=0
|
z5=0.0
|
||||||
if(i5+is+ncoh*nss-1.le.np) then
|
if(i5+is+ncoh*nss-1.le.np) then
|
||||||
s5=s5+abs(sum(cd0(i5+is:i5+is+nps-1)*conjg(csynct1(is+1:is+nps))))
|
z5=sum(cd0(i5+is:i5+is+nps-1)*conjg(csynct1(is+1:is+nps)))
|
||||||
endif
|
endif
|
||||||
|
s1=s1+abs(z1)/(8*nss)
|
||||||
|
s2=s2+abs(z2)/(8*nss)
|
||||||
|
s3=s3+abs(z3)/(8*nss)
|
||||||
|
s4=s4+abs(z4)/(8*nss)
|
||||||
|
s5=s5+abs(z5)/(8*nss)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
|
Loading…
Reference in New Issue
Block a user