mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-23 12:38:53 -04:00
Experimenting with a slow MSK144 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7704 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
0af9d06351
commit
9cfadf6ccb
@ -9,13 +9,12 @@ subroutine makepings(pings,npts,width,sig)
|
||||
do i=1,14
|
||||
t0(i)=i !Make pings at t=1, 2, ... 14 s.
|
||||
enddo
|
||||
w=width
|
||||
amp=sig
|
||||
|
||||
do i=1,npts
|
||||
iping=min(max(1,i/12000),14)
|
||||
t=(i*dt-t0(iping))/w
|
||||
if(t.lt.0.d0 .and. t.lt.10.0) then
|
||||
t=(i*dt-t0(iping))/width
|
||||
if(t.lt.0.d0 .and. t.lt.10.0) then !????
|
||||
fac=0.
|
||||
else
|
||||
fac=2.718*t*dexp(-t)
|
||||
|
@ -15,10 +15,10 @@ program msk144sim
|
||||
data mygrid/"EN50wc"/
|
||||
|
||||
nargs=iargc()
|
||||
if(nargs.ne.5) then
|
||||
print*,'Usage: msk144sim message freq width snr nfiles'
|
||||
print*,' '
|
||||
print*,'Example: msk144sim "K1ABC W9XYZ EN37" 1500 0.12 2 1'
|
||||
if(nargs.ne.6) then
|
||||
print*,'Usage: msk144sim message freq width nfac snr nfiles'
|
||||
print*,'Example: msk144sim "K1ABC W9XYZ EN37" 1500 0.12 1 2 1'
|
||||
print*,' msk144sim "K1ABC W9XYZ EN37" 1500 2.5 32 -15 1'
|
||||
go to 999
|
||||
endif
|
||||
call getarg(1,msg)
|
||||
@ -27,8 +27,10 @@ program msk144sim
|
||||
call getarg(3,arg)
|
||||
read(arg,*) width
|
||||
call getarg(4,arg)
|
||||
read(arg,*) snrdb
|
||||
read(arg,*) nfac
|
||||
call getarg(5,arg)
|
||||
read(arg,*) snrdb
|
||||
call getarg(6,arg)
|
||||
read(arg,*) nfiles
|
||||
|
||||
!sig is the peak amplitude of the ping.
|
||||
@ -42,12 +44,15 @@ program msk144sim
|
||||
twopi=8.d0*atan(1.d0)
|
||||
|
||||
nsym=144
|
||||
nsps=6*nfac
|
||||
if( itone(41) .lt. 0 ) nsym=40
|
||||
dphi0=twopi*(freq-500)/12000.0
|
||||
dphi1=twopi*(freq+500)/12000.0
|
||||
baud=2000.d0/nfac
|
||||
dphi0=twopi*(freq-0.25d0*baud)/12000.d0
|
||||
dphi1=twopi*(freq+0.25d0*baud)/12000.d0
|
||||
phi=0.0
|
||||
indx=0
|
||||
nreps=NMAX/(nsym*6)
|
||||
k=0
|
||||
nreps=NMAX/(nsym*nsps)
|
||||
print*,nsym,nfac,nsps,baud,freq
|
||||
do jrep=1,nreps
|
||||
do i=1,nsym
|
||||
if( itone(i) .eq. 0 ) then
|
||||
@ -55,9 +60,9 @@ program msk144sim
|
||||
else
|
||||
dphi=dphi1
|
||||
endif
|
||||
do j=1,6
|
||||
waveform(indx)=cos(phi);
|
||||
indx=indx+1
|
||||
do j=1,nsps
|
||||
waveform(k)=cos(phi)
|
||||
k=k+1
|
||||
phi=mod(phi+dphi,twopi)
|
||||
enddo
|
||||
enddo
|
||||
@ -68,7 +73,7 @@ program msk144sim
|
||||
go to 999
|
||||
endif
|
||||
|
||||
call makepings(pings,NMAX,width,sig)
|
||||
if(nfac.eq.1) call makepings(pings,NMAX,width,sig)
|
||||
|
||||
! call sgran()
|
||||
do ifile=1,nfiles !Loop over requested number of files
|
||||
@ -81,8 +86,8 @@ program msk144sim
|
||||
fac=sqrt(6000.0/2500.0)
|
||||
do i=0,NMAX-1
|
||||
xx=gran()
|
||||
wave(i)=pings(i)*waveform(i) + fac*xx
|
||||
! wave(i)=sig*waveform(i) + fac*xx
|
||||
if(nfac.eq.1) wave(i)=pings(i)*waveform(i) + fac*xx
|
||||
if(nfac.gt.1) wave(i)=sig*waveform(i) + fac*xx
|
||||
iwave(i)=30.0*wave(i)
|
||||
enddo
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user