Fix some bugs related to osd decoding in msk144 and disable it for now.

This commit is contained in:
Steven Franke 2020-02-13 14:25:36 -06:00
parent 08baa50a01
commit e936a863a8
3 changed files with 9 additions and 3 deletions

View File

@ -14,7 +14,8 @@ subroutine msk144decodeframe(c,softbits,msgreceived,nsuccess,doosd)
real pp(12) real pp(12)
real softbits(144) real softbits(144)
real llr(128) real llr(128)
logical first,unpk77_success,doosd logical first,unpk77_success
logical*1 doosd
data first/.true./ data first/.true./
data s8/0,1,1,1,0,0,1,0/ data s8/0,1,1,1,0,0,1,0/
save first,cb,fs,pi,twopi,dt,s8,pp save first,cb,fs,pi,twopi,dt,s8,pp
@ -95,8 +96,9 @@ subroutine msk144decodeframe(c,softbits,msgreceived,nsuccess,doosd)
max_iterations=10 max_iterations=10
! call timer('bpdec128_90 ',0) ! call timer('bpdec128_90 ',0)
apmask=0 apmask=0
dmin=0.0
call bpdecode128_90(llr,apmask,max_iterations,decoded77,cw,nharderror,niterations) call bpdecode128_90(llr,apmask,max_iterations,decoded77,cw,nharderror,niterations)
if(doosd .and. nharderror .lt. 0) call osd128_90(llr,apmask,3,decoded77,cw,nharderror,dmin) ! if(doosd .and. nharderror .lt. 0) call osd128_90(llr,apmask,3,decoded77,cw,nharderror,dmin)
! call timer('bpdec128_90 ',1) ! call timer('bpdec128_90 ',1)
if( nharderror .ge. 0 .and. nharderror .lt. 18 ) then if( nharderror .ge. 0 .and. nharderror .lt. 18 ) then
nsuccess=1 nsuccess=1
@ -106,6 +108,7 @@ subroutine msk144decodeframe(c,softbits,msgreceived,nsuccess,doosd)
nsuccess=0 nsuccess=0
else else
call unpack77(c77,1,msgreceived,unpk77_success) call unpack77(c77,1,msgreceived,unpk77_success)
!if(unpk77_success) write(*,*) msgreceived,nharderror,dmin,nbadsync1,nbadsync2
if(.not.unpk77_success) nsuccess=0 if(.not.unpk77_success) nsuccess=0
endif endif
endif endif

View File

@ -31,7 +31,7 @@ subroutine msk144spd(cbig,n,ntol,nsuccess,msgreceived,fc,fret,tret,navg,ct, &
real tpat(NPATTERNS) real tpat(NPATTERNS)
real*8 dt, df, fs, pi, twopi real*8 dt, df, fs, pi, twopi
logical first logical first
logical doosd logical*1 doosd
data first/.true./ data first/.true./
data navpatterns/ & data navpatterns/ &
0,1,0, & 0,1,0, &
@ -44,7 +44,9 @@ subroutine msk144spd(cbig,n,ntol,nsuccess,msgreceived,fc,fret,tret,navg,ct, &
save df,first,fs,pi,twopi,dt,tframe,rcw save df,first,fs,pi,twopi,dt,tframe,rcw
doosd=.false.
if( ntol .le. 50 ) doosd = .true. if( ntol .le. 50 ) doosd = .true.
if(first) then if(first) then
nmatchedfilter=1 nmatchedfilter=1
! define half-sine pulse and raised-cosine edge window ! define half-sine pulse and raised-cosine edge window

View File

@ -144,6 +144,7 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,mycall,mygrid,hiscall, &
npat=NPATTERNS npat=NPATTERNS
if( ndepth .eq. 1 ) npat=0 if( ndepth .eq. 1 ) npat=0
if( ndepth .eq. 2 ) npat=2 if( ndepth .eq. 2 ) npat=2
doosd=.false.
if( ntol .le. 50 ) doosd = .true. if( ntol .le. 50 ) doosd = .true.
do iavg=1,npat do iavg=1,npat
iavmask=iavpatterns(1:8,iavg) iavmask=iavpatterns(1:8,iavg)