mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-29 07:39:43 -05:00
Move more things into q65 module.
This commit is contained in:
parent
71385aa20a
commit
dc4c3e87eb
@ -6,9 +6,11 @@ module q65
|
|||||||
integer listutc(10)
|
integer listutc(10)
|
||||||
integer apsym0(58),aph10(10)
|
integer apsym0(58),aph10(10)
|
||||||
integer apmask(13),apsymbols(13)
|
integer apmask(13),apsymbols(13)
|
||||||
|
integer,dimension(22) :: isync = (/1,9,12,13,15,22,23,26,27,33,35, &
|
||||||
|
38,46,50,55,60,62,66,69,74,76,85/)
|
||||||
integer codewords(63,206)
|
integer codewords(63,206)
|
||||||
integer navg,ibwa,ibwb,ncw
|
integer navg,ibwa,ibwb,ncw
|
||||||
real,allocatable,save :: s1a(:,:) !Cumulative symbol spectra
|
real,allocatable,save :: s1a(:,:) !Cumulative symbol spectra
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
|
||||||
@ -46,7 +48,7 @@ end subroutine q65_dec2
|
|||||||
|
|
||||||
subroutine q65_s1_to_s3(s1,iz,jz,i0,j0,ipk,jpk,LL,mode_q65,sync,s3)
|
subroutine q65_s1_to_s3(s1,iz,jz,i0,j0,ipk,jpk,LL,mode_q65,sync,s3)
|
||||||
|
|
||||||
! Copy from s1a into s3, then call the dec_q* routines
|
! Copy from s1 or s1a into s3
|
||||||
|
|
||||||
real s1(iz,jz)
|
real s1(iz,jz)
|
||||||
real s3(-64:LL-65,63)
|
real s3(-64:LL-65,63)
|
||||||
|
@ -19,7 +19,6 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,nsps, &
|
|||||||
|
|
||||||
parameter (LN=2176*63) !LN=LL*NN; LL=64*(mode_q65+2), NN=63
|
parameter (LN=2176*63) !LN=LL*NN; LL=64*(mode_q65+2), NN=63
|
||||||
integer*2 iwave(0:12000*ntrperiod-1) !Raw data
|
integer*2 iwave(0:12000*ntrperiod-1) !Raw data
|
||||||
integer isync(22) !Indices of sync symbols
|
|
||||||
integer dat4(13)
|
integer dat4(13)
|
||||||
integer ijpk(2)
|
integer ijpk(2)
|
||||||
character*37 decoded
|
character*37 decoded
|
||||||
@ -30,7 +29,6 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,nsps, &
|
|||||||
real, allocatable :: ccf1(:) !CCF(freq) at best lag
|
real, allocatable :: ccf1(:) !CCF(freq) at best lag
|
||||||
real, allocatable :: ccf2(:) !CCF(freq) at any lag
|
real, allocatable :: ccf2(:) !CCF(freq) at any lag
|
||||||
real sync(85) !sync vector
|
real sync(85) !sync vector
|
||||||
data isync/1,9,12,13,15,22,23,26,27,33,35,38,46,50,55,60,62,66,69,74,76,85/
|
|
||||||
data sync(1)/99.0/
|
data sync(1)/99.0/
|
||||||
save sync
|
save sync
|
||||||
|
|
||||||
@ -104,8 +102,8 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,nsps, &
|
|||||||
if(ncw.gt.0) then
|
if(ncw.gt.0) then
|
||||||
! Try list decoding via "Deep Likelihood".
|
! Try list decoding via "Deep Likelihood".
|
||||||
call timer('list_dec',0)
|
call timer('list_dec',0)
|
||||||
call q65_dec_q3(codewords,ncw,isync,sync,df,s1,iz,jz,ia,ibwa,ibwb, &
|
call q65_dec_q3(sync,df,s1,iz,jz,ia, &
|
||||||
nstep,nsps,mode_q65,lag1,lag2,i0,j0,ccf,ccf1,ccf2,ia2,s3,LL,snr2, &
|
nsps,mode_q65,lag1,lag2,i0,j0,ccf,ccf1,ccf2,ia2,s3,LL,snr2, &
|
||||||
dat4,idec,decoded)
|
dat4,idec,decoded)
|
||||||
call timer('list_dec',1)
|
call timer('list_dec',1)
|
||||||
endif
|
endif
|
||||||
@ -217,15 +215,14 @@ subroutine q65_symspec(iwave,nmax,nsps,iz,jz,istep,nsmo,s1)
|
|||||||
return
|
return
|
||||||
end subroutine q65_symspec
|
end subroutine q65_symspec
|
||||||
|
|
||||||
subroutine q65_dec_q3(codewords,ncw,isync,sync,df,s1,iz,jz,ia,ibwa,ibwb, &
|
subroutine q65_dec_q3(sync,df,s1,iz,jz,ia, &
|
||||||
nstep,nsps,mode_q65,lag1,lag2,i0,j0,ccf,ccf1,ccf2,ia2,s3,LL,snr2, &
|
nsps,mode_q65,lag1,lag2,i0,j0,ccf,ccf1,ccf2,ia2,s3,LL,snr2, &
|
||||||
dat4,idec,decoded)
|
dat4,idec,decoded)
|
||||||
|
|
||||||
|
use q65
|
||||||
character*37 decoded
|
character*37 decoded
|
||||||
integer isync(22) !Indices of sync symbols
|
|
||||||
integer itone(85)
|
integer itone(85)
|
||||||
integer ijpk(2)
|
integer ijpk(2)
|
||||||
integer codewords(63,206)
|
|
||||||
integer dat4(13)
|
integer dat4(13)
|
||||||
real ccf(-ia2:ia2,-53:214)
|
real ccf(-ia2:ia2,-53:214)
|
||||||
real ccf1(-ia2:ia2)
|
real ccf1(-ia2:ia2)
|
||||||
|
Loading…
Reference in New Issue
Block a user