Merge branch 'feat-map65-integration' of bitbucket.org:k1jt/wsjtx into feat-map65-integration

This commit is contained in:
Bill Somerville 2021-05-30 14:48:48 +01:00
commit 5817a1e946
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
4 changed files with 22 additions and 12 deletions

View File

@ -437,11 +437,16 @@ subroutine q65_ccf_22(s1,iz,jz,nfqso,ntol,ndepth,ntrperiod,iavg,ipk,jpk, &
ia=max(nfa,100)/df ia=max(nfa,100)/df
ib=min(nfb,4900)/df ib=min(nfb,4900)/df
max_drift=0 max_drift=0 !Drift units: bins/TxT
if(nqd.eq.1 .and. iavg.eq.0 .and. ntol.le.100 .and. ntrperiod.eq.60) then ! Do we need a GUI control to set max_drift ?
! For now, turn on drift compensation only for submodes 15B amd 60A.
if(nqd.eq.1 .and. iavg.eq.0 .and. ntol.le.100 .and. ntrperiod.eq.60 .and. &
mode_q65.eq.1) max_drift=10 !Q65-60A
if(nqd.eq.1 .and. iavg.eq.0 .and. ntol.le.100 .and. ntrperiod.eq.15 .and. &
mode_q65.eq.4) max_drift=40 !Q65-15C
if(max_drift.ne.0) then
ia=nint((nfqso-ntol)/df) ia=nint((nfqso-ntol)/df)
ib=nint((nfqso+ntol)/df) ib=nint((nfqso+ntol)/df)
max_drift=10 !Drift units: bins/TRperiod (?)
endif endif
do i=ia,ib do i=ia,ib

View File

@ -52,6 +52,7 @@ subroutine q65_loops(c00,npts2,nsps2,nsubmode,ndepth,jpk0, &
if(mod(idf,2).eq.0) ndf=-ndf if(mod(idf,2).eq.0) ndf=-ndf
a=0. a=0.
a(1)=-(f0+0.5*baud*ndf) a(1)=-(f0+0.5*baud*ndf)
! Variable 'drift' is frequency increase over full TxT. Therefore we want:
a(2)=-0.5*drift a(2)=-0.5*drift
call twkfreq(c00,c0,npts2,6000.0,a) call twkfreq(c00,c0,npts2,6000.0,a)
do idt=1,idtmax do idt=1,idtmax

View File

@ -1,6 +1,6 @@
program test_q65 program test_q65
character*82 cmd1,cmd2,line character*84 cmd1,cmd2,line
character*22 msg character*22 msg
character*8 arg character*8 arg
character*1 csubmode character*1 csubmode
@ -71,7 +71,7 @@ program test_q65
tsym=1.0/baud tsym=1.0/baud
! 1 2 3 4 5 6 7 ! 1 2 3 4 5 6 7
! 123456789012345678901234567890123456789012345678901234567890123456789012345' ! 1234567890123456789012345678901234567890123456789012345678901234567890123456'
cmd1='q65sim "K1ABC W9XYZ EN37 " A 1500 5.0 0.0 0.0 1 60 100 -10.0 > junk0' cmd1='q65sim "K1ABC W9XYZ EN37 " A 1500 5.0 0.0 0.0 1 60 100 -10.0 > junk0'
cmd2='jt9 -3 -p 15 -L 300 -H 3000 -d 3 -b A -Q 3 -f 1500 *.wav > junk' cmd2='jt9 -3 -p 15 -L 300 -H 3000 -d 3 -b A -Q 3 -f 1500 *.wav > junk'
@ -80,10 +80,10 @@ program test_q65
write(cmd1(37:40),'(i4)') nf0 write(cmd1(37:40),'(i4)') nf0
write(cmd1(41:45),'(f5.0)') fDop write(cmd1(41:45),'(f5.0)') fDop
write(cmd1(46:50),'(f5.2)') dt write(cmd1(46:50),'(f5.2)') dt
write(cmd1(51:54),'(f4.0)') f1 write(cmd1(51:56),'(i6)') nint(f1)
write(cmd1(55:57),'(i3)') nstp write(cmd1(57:59),'(i3)') nstp
write(cmd1(58:61),'(i4)') ntrperiod write(cmd1(60:63),'(i4)') ntrperiod
write(cmd1(62:66),'(i5)') nfiles write(cmd1(64:68),'(i5)') nfiles
write(cmd2(11:13),'(i3)') ntrperiod write(cmd2(11:13),'(i3)') ntrperiod
write(cmd2(33:35),'(i3)') ndepth write(cmd2(33:35),'(i3)') ndepth
@ -94,7 +94,7 @@ program test_q65
call system('rm -f *.wav') call system('rm -f *.wav')
write(*,1008) ntrperiod,csubmode,ndepth,fDop,f1,nstp write(*,1008) ntrperiod,csubmode,ndepth,fDop,f1,nstp
1008 format('Mode:',i4,a1,' Depth:',i3,' fDop:',f6.1,' Drift:',f6.1, & 1008 format('Mode:',i4,a1,' Depth:',i3,' fDop:',f6.1,' Drift:',f8.1, &
' Steps:',i3) ' Steps:',i3)
write(*,1010) (j,j=0,5) write(*,1010) (j,j=0,5)
write(12,1010) (j,j=0,5) write(12,1010) (j,j=0,5)
@ -112,7 +112,7 @@ program test_q65
nfalse=0 nfalse=0
naptype=0 naptype=0
ndecn=0 ndecn=0
write(cmd1(70:74),'(f5.1)') snr1 write(cmd1(72:76),'(f5.1)') snr1
call system(cmd1) call system(cmd1)
call sec0(0,tdec) call sec0(0,tdec)
call system(cmd2) call system(cmd2)

View File

@ -1,5 +1,9 @@
subroutine twkfreq(c3,c4,npts,fsample,a) subroutine twkfreq(c3,c4,npts,fsample,a)
! Adjust frequency of complex data
! a(1) Hz
! a(2) Hz/(0.5*TxT), where TxT = npts/fsample = file duration
complex c3(npts) complex c3(npts)
complex c4(npts) complex c4(npts)
complex w,wstep complex w,wstep