mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 10:22:26 -04:00
Wire up Fast/Normal/Deep decoding options for MSK144.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7114 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
57a5ad188d
commit
4b9b6d8596
@ -71,7 +71,7 @@ subroutine hspec(id2,k,nutc0,ntrpdepth,nrxfreq,ntol,bmsk144,ingain, &
|
|||||||
if(bmsk144) then
|
if(bmsk144) then
|
||||||
if(k.ge.7168) then
|
if(k.ge.7168) then
|
||||||
tsec=(k-7168)/12000.0
|
tsec=(k-7168)/12000.0
|
||||||
call mskrtd(id2(k-7168+1:k),nutc0,tsec,ntol,nrxfreq,line1)
|
call mskrtd(id2(k-7168+1:k),nutc0,tsec,ntol,nrxfreq,ndepth,line1)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
!###
|
!###
|
||||||
|
@ -18,7 +18,8 @@ program msk144d2
|
|||||||
character*12 mycall,hiscall
|
character*12 mycall,hiscall
|
||||||
character(len=500) optarg
|
character(len=500) optarg
|
||||||
|
|
||||||
type (option) :: long_options(7) = [ &
|
type (option) :: long_options(8) = [ &
|
||||||
|
option ('ndepth',.true.,'c','ndepth',''), &
|
||||||
option ('dxcall',.true.,'d','hiscall',''), &
|
option ('dxcall',.true.,'d','hiscall',''), &
|
||||||
option ('evemode',.true.,'e','',''), &
|
option ('evemode',.true.,'e','',''), &
|
||||||
option ('frequency',.true.,'f','rxfreq',''), &
|
option ('frequency',.true.,'f','rxfreq',''), &
|
||||||
@ -28,6 +29,7 @@ program msk144d2
|
|||||||
option ('short',.false.,'s','enable Sh','') &
|
option ('short',.false.,'s','enable Sh','') &
|
||||||
]
|
]
|
||||||
t0=0.0
|
t0=0.0
|
||||||
|
ndepth=3
|
||||||
ntol=100
|
ntol=100
|
||||||
nrxfreq=1500
|
nrxfreq=1500
|
||||||
mycall=''
|
mycall=''
|
||||||
@ -35,11 +37,13 @@ program msk144d2
|
|||||||
bShMsgs=.false.
|
bShMsgs=.false.
|
||||||
|
|
||||||
do
|
do
|
||||||
call getopt('d:ef:hm:n:s',long_options,c,optarg,narglen,nstat,noffset,nremain,.true.)
|
call getopt('c:d:ef:hm:n:s',long_options,c,optarg,narglen,nstat,noffset,nremain,.true.)
|
||||||
if( nstat .ne. 0 ) then
|
if( nstat .ne. 0 ) then
|
||||||
exit
|
exit
|
||||||
end if
|
end if
|
||||||
select case (c)
|
select case (c)
|
||||||
|
case ('c')
|
||||||
|
read (optarg(:narglen), *) ndepth
|
||||||
case ('d')
|
case ('d')
|
||||||
read (optarg(:narglen), *) hiscall
|
read (optarg(:narglen), *) hiscall
|
||||||
case ('e')
|
case ('e')
|
||||||
@ -89,7 +93,7 @@ program msk144d2
|
|||||||
do i=1,npts,7*512
|
do i=1,npts,7*512
|
||||||
ichunk=id2(i:i+7*1024-1)
|
ichunk=id2(i:i+7*1024-1)
|
||||||
tsec=(i-1)/12000.0
|
tsec=(i-1)/12000.0
|
||||||
call mskrtd(ichunk,nutc,tsec,ntol,nrxfreq,line)
|
call mskrtd(ichunk,nutc,tsec,ntol,nrxfreq,ndepth,line)
|
||||||
if( index(line,"^") .ne. 0 .or. index(line,"&") .ne. 0 ) then
|
if( index(line,"^") .ne. 0 .or. index(line,"&") .ne. 0 ) then
|
||||||
write(*,*) line
|
write(*,*) line
|
||||||
endif
|
endif
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,line)
|
subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,line)
|
||||||
|
|
||||||
! Real-time decoder for MSK144.
|
! Real-time decoder for MSK144.
|
||||||
! Analysis block size = NZ = 7168 samples, t_block = 0.597333 s
|
! Analysis block size = NZ = 7168 samples, t_block = 0.597333 s
|
||||||
@ -94,9 +94,15 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,line)
|
|||||||
goto 999
|
goto 999
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! If short ping decoder doesn't find a decode, then 4-, 5-, and 7-frame averages
|
|
||||||
! spanning the first 7 frames of the block.
|
! If short ping decoder doesn't find a decode,
|
||||||
do iavg=1,NPATTERNS
|
! Fast - try 4-frame averages only
|
||||||
|
! Normal - try 4- and 5-frame averages
|
||||||
|
! Deep - try 4-, 5- and 7-frame averages.
|
||||||
|
npat=NPATTERNS
|
||||||
|
if( ndepth .eq. 1 ) npat=2
|
||||||
|
if( ndepth .eq. 2 ) npat=3
|
||||||
|
do iavg=1,npat
|
||||||
iavmask=iavpatterns(1:8,iavg)
|
iavmask=iavpatterns(1:8,iavg)
|
||||||
navg=sum(iavmask)
|
navg=sum(iavmask)
|
||||||
deltaf=7.0/real(navg) ! search increment for frequency sync
|
deltaf=7.0/real(navg) ! search increment for frequency sync
|
||||||
|
Loading…
x
Reference in New Issue
Block a user