Added JTMSKsim to CMakeLists.txt to facilitate development efforts.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6706 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2016-05-27 00:59:00 +00:00
parent b49999f96d
commit 7bd8be0107
3 changed files with 17 additions and 12 deletions

View File

@ -383,13 +383,16 @@ set (wsjt_FSRCS
lib/jt65_mod.f90 lib/jt65_mod.f90
lib/jt9_decode.f90 lib/jt9_decode.f90
lib/jt9fano.f90 lib/jt9fano.f90
lib/JTMSKsim.f90
lib/jtmsk_decode.f90 lib/jtmsk_decode.f90
lib/jtmsk_short.f90 lib/jtmsk_short.f90
lib/ldpcsim.f90 lib/ldpcsim.f90
lib/ldpcwav.f90
lib/libration.f90 lib/libration.f90
lib/lorentzian.f90 lib/lorentzian.f90
lib/lpf1.f90 lib/lpf1.f90
lib/mixlpf.f90 lib/mixlpf.f90
lib/makepings.f90
lib/moondopjpl.f90 lib/moondopjpl.f90
lib/morse.f90 lib/morse.f90
lib/move.f90 lib/move.f90
@ -1018,6 +1021,9 @@ target_link_libraries (jt65 wsjt_fort wsjt_cxx)
add_executable (ldpcsim lib/ldpcsim.f90 wsjtx.rc) add_executable (ldpcsim lib/ldpcsim.f90 wsjtx.rc)
target_link_libraries (ldpcsim wsjt_fort wsjt_cxx) target_link_libraries (ldpcsim wsjt_fort wsjt_cxx)
add_executable (JTMSKsim lib/JTMSKsim.f90 wsjtx.rc)
target_link_libraries (JTMSKsim wsjt_fort wsjt_cxx)
add_executable (jt9 ${jt9_FSRCS} ${jt9_CXXSRCS} wsjtx.rc) add_executable (jt9 ${jt9_FSRCS} ${jt9_CXXSRCS} wsjtx.rc)
if (${OPENMP_FOUND} OR APPLE) if (${OPENMP_FOUND} OR APPLE)
if (APPLE) if (APPLE)

View File

@ -37,15 +37,15 @@ program JTMSKsim
h=default_header(12000,NMAX) h=default_header(12000,NMAX)
ichk=0 ichk=0
call genmsk(msg,ichk,msgsent,waveform,itype) !Check message type call genmsk(msg,ichk,msgsent,waveform,itype) !this is genmsk144
if(itype.lt.1 .or. itype.gt.7) then if(itype.lt.1 .or. itype.gt.7) then
print*,'Illegal message' print*,'Illegal message'
go to 999 go to 999
endif endif
! call makepings(pings,NMAX,width,sig) call makepings(pings,NMAX,width,sig)
pings=0.0 ! pings=0.0
pings(12345:24000)=sig ! pings(12345:24000)=sig
do ifile=1,nfiles !Loop over requested number of files do ifile=1,nfiles !Loop over requested number of files
write(fname,1002) ifile !Output filename write(fname,1002) ifile !Output filename
1002 format('000000_',i4.4) 1002 format('000000_',i4.4)

View File

@ -1,8 +1,7 @@
subroutine genmsk144(msg0,ichk,msgsent,waveform,itype) subroutine genmsk144(msg0,ichk,msgsent,waveform,itype)
!!!!!!!!!!!!!!!!!!!!! Experimental ldpc version !!!!!!!!!!!!!!!!!! Experimental small blocklength ldpc version
! b11 + 128bit code + 1 zero bit = 140 bits (70ms message duration) ! s8 + 48bits + s8 + 40 bits = 144 bits (72ms message duration)
! b13 + 128bit code + 2 slack + 1 zero bit = 144 bits (71ms message duration)
! !
! Encode a JTMSK message ! Encode a JTMSK message
! Input: ! Input:
@ -36,14 +35,14 @@ subroutine genmsk144(msg0,ichk,msgsent,waveform,itype)
integer*1 bitseq(144) !Tone #s, data and sync (values 0-1) integer*1 bitseq(144) !Tone #s, data and sync (values 0-1)
integer*1 i1hash(4) integer*1 i1hash(4)
integer*1 b7(7) integer*1 b7(7)
integer*1 b8(8) integer*1 s8(8)
integer*1 b11(11) integer*1 b11(11)
integer*1 b13(13) integer*1 b13(13)
real*8 pp(12) real*8 pp(12)
real*8 xi(864),xq(864),pi,twopi,phi,dphi real*8 xi(864),xq(864),pi,twopi,phi,dphi
real waveform(864) real waveform(864)
data b7/1,1,1,0,0,1,0/ data b7/1,1,1,0,0,1,0/
data b8/0,1,1,1,0,0,1,0/ data s8/0,1,1,1,0,0,1,0/
data b11/1,1,1,0,0,0,1,0,0,1,0/ !Barker 11 code data b11/1,1,1,0,0,0,1,0,0,1,0/ !Barker 11 code
data b13/1,1,1,1,1,0,0,1,1,0,1,0,1/ !Barker 13 code data b13/1,1,1,1,1,0,0,1,1,0,1,0,1/ !Barker 13 code
equivalence (ihash,i1hash) equivalence (ihash,i1hash)
@ -105,7 +104,7 @@ subroutine genmsk144(msg0,ichk,msgsent,waveform,itype)
i4=iand(i4,255) i4=iand(i4,255)
if(ik.eq.8) then if(ik.eq.8) then
im=im+1 im=im+1
! if(i4.gt.127) i4=i4-256 ! if(i4.gt.127) i4=i4-256
i1Msg8BitBytes(im)=i4 i1Msg8BitBytes(im)=i4
ik=0 ik=0
endif endif
@ -137,9 +136,9 @@ subroutine genmsk144(msg0,ichk,msgsent,waveform,itype)
!Create 144-bit channel vector: !Create 144-bit channel vector:
!8-bit sync word + 48 bits + 8-bit sync word + 80 bits !8-bit sync word + 48 bits + 8-bit sync word + 80 bits
bitseq=0 bitseq=0
bitseq(1:8)=b8 bitseq(1:8)=s8
bitseq(9:56)=reorderedcodeword(1:48) bitseq(9:56)=reorderedcodeword(1:48)
bitseq(57:64)=b8 bitseq(57:64)=s8
bitseq(65:144)=reorderedcodeword(49:128) bitseq(65:144)=reorderedcodeword(49:128)
bitseq=2*bitseq-1 bitseq=2*bitseq-1