mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-22 04:11:16 -05:00
Call OSD if Deep decoding is selected.
This commit is contained in:
parent
a56960a19b
commit
11065c349c
@ -74,7 +74,7 @@ contains
|
|||||||
logical nohiscall,unpk77_success
|
logical nohiscall,unpk77_success
|
||||||
logical one(0:255,0:7) ! 256 4-symbol sequences, 8 bits
|
logical one(0:255,0:7) ! 256 4-symbol sequences, 8 bits
|
||||||
logical first, dobigfft
|
logical first, dobigfft
|
||||||
logical dosubtract
|
logical dosubtract,doosd
|
||||||
|
|
||||||
data icos4a/0,1,3,2/
|
data icos4a/0,1,3,2/
|
||||||
data icos4b/1,0,2,3/
|
data icos4b/1,0,2,3/
|
||||||
@ -210,19 +210,23 @@ contains
|
|||||||
fb=nfb
|
fb=nfb
|
||||||
dd=iwave
|
dd=iwave
|
||||||
|
|
||||||
! ndepth=3: 2 passes, subtract on each pass
|
! ndepth=3: 3 passes, bp+osd
|
||||||
! ndepth=2: 1 pass, no subtraction
|
! ndepth=2: 3 passes, bp only
|
||||||
! ndepth=1: 1 pass, no subtraction, fewer candidates
|
! ndepth=1: 1 pass, no subtraction
|
||||||
|
|
||||||
max_iterations=40
|
max_iterations=40
|
||||||
syncmin=1.2
|
syncmin=1.2
|
||||||
dosubtract=.true.
|
dosubtract=.true.
|
||||||
|
doosd=.true.
|
||||||
nsp=3
|
nsp=3
|
||||||
if(ndepth.lt.3) then
|
if(ndepth.eq.2) then
|
||||||
|
doosd=.false.
|
||||||
|
endif
|
||||||
|
if(ndepth.eq.1) then
|
||||||
nsp=1
|
nsp=1
|
||||||
dosubtract=.false.
|
dosubtract=.false.
|
||||||
|
doosd=.false.
|
||||||
endif
|
endif
|
||||||
if(ndepth.eq.1) syncmin=2.0
|
|
||||||
|
|
||||||
do isp = 1,nsp
|
do isp = 1,nsp
|
||||||
if(isp.eq.2) then
|
if(isp.eq.2) then
|
||||||
@ -482,10 +486,22 @@ contains
|
|||||||
llr=llrd
|
llr=llrd
|
||||||
endif
|
endif
|
||||||
message77=0
|
message77=0
|
||||||
|
dmin=0.0
|
||||||
call timer('bpdec174',0)
|
call timer('bpdec174',0)
|
||||||
call bpdecode174_91(llr,apmask,max_iterations,message77, &
|
call bpdecode174_91(llr,apmask,max_iterations,message77, &
|
||||||
cw,nharderror,niterations)
|
cw,nharderror,niterations)
|
||||||
call timer('bpdec174',1)
|
call timer('bpdec174',1)
|
||||||
|
|
||||||
|
if(doosd .and. nharderror.lt.0) then
|
||||||
|
ndeep=3
|
||||||
|
if(abs(nfqso-f1).le.napwid) then
|
||||||
|
ndeep=4
|
||||||
|
endif
|
||||||
|
call timer('osd174_91 ',0)
|
||||||
|
call osd174_91(llr,apmask,ndeep,message77,cw,nharderror,dmin)
|
||||||
|
call timer('osd174_91 ',1)
|
||||||
|
endif
|
||||||
|
|
||||||
if(sum(message77).eq.0) cycle
|
if(sum(message77).eq.0) cycle
|
||||||
if( nharderror.ge.0 ) then
|
if( nharderror.ge.0 ) then
|
||||||
message77=mod(message77+rvec,2) ! remove rvec scrambling
|
message77=mod(message77+rvec,2) ! remove rvec scrambling
|
||||||
@ -508,11 +524,11 @@ contains
|
|||||||
if(snr.gt.0.0) then
|
if(snr.gt.0.0) then
|
||||||
xsnr=10*log10(snr)-14.8
|
xsnr=10*log10(snr)-14.8
|
||||||
else
|
else
|
||||||
xsnr=-20.0
|
xsnr=-21.0
|
||||||
endif
|
endif
|
||||||
nsnr=nint(max(-20.0,xsnr))
|
nsnr=nint(max(-21.0,xsnr))
|
||||||
xdt=ibest/666.67 - 0.5
|
xdt=ibest/666.67 - 0.5
|
||||||
!write(21,'(i6.6,i5,2x,f4.1,i6,2x,a37,2x,f4.1,3i3)') nutc,nsnr,xdt,nint(f0),message,sync,iaptype,ipass,isp
|
!write(21,'(i6.6,i5,2x,f4.1,i6,2x,a37,2x,f4.1,3i3,f5.1)') nutc,nsnr,xdt,nint(f0),message,sync,iaptype,ipass,isp,dmin
|
||||||
call this%callback(sync,nsnr,xdt,f0,message,iaptype,qual)
|
call this%callback(sync,nsnr,xdt,f0,message,iaptype,qual)
|
||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
|
Loading…
Reference in New Issue
Block a user