WSJT-X/libm65/genjtms3.f90
Joe Taylor 5a551b3435 Editing the jtms3.txt file.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/jtms3@2487 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-07-04 21:30:56 +00:00

46 lines
1.2 KiB
Fortran

subroutine genjtms3(msg,msgsent,iwave,nwave)
character*22 msg,msgsent
integer*1 chansym(258)
integer*2 iwave(30*48000)
integer dgen(13)
integer*1 data0(13)
integer*1 datsym(215)
integer indx0(9) !Indices of duplicated data symbols
data indx0 /16,38,60,82,104,126,148,170,192/
call packmsg(msg,dgen) !Pack message into 12 six-bit symbols
call entail(dgen,data0) !Move from 6-bit to 8-bit symbols, add tail
ndat=(72+31)*2
call encode232(data0,ndat,datsym) !Convolutional encoding
do i=1,9 !Duplicate 9 symbols at end of datsym
datsym(206+i)=datsym(indx0(i))
enddo
call scr258(isync,datsym,1,chansym) !Insert sync and data into chansym(258)
if(msg(1:1).eq.'@') chansym=0
twopi=8.0*atan(1.0)
f0=1500.0
dphi=twopi*f0/48000.0
phi=0.
k=0
do j=1,258
do i=1,24
phi=phi+dphi
if(phi.gt.twopi) phi=phi-twopi
n=32767.0*sin(phi)
if(chansym(j).eq.0) n=-n
k=k+1
iwave(k)=n
enddo
enddo
nwave=k
! call genjtms3a(chansym,258,iwave,nwave)
msgsent=msg
return
end subroutine genjtms3