diff --git a/lib/genjt9.f90 b/lib/genjt9.f90 index c85771a24..83d4c584c 100644 --- a/lib/genjt9.f90 +++ b/lib/genjt9.f90 @@ -13,13 +13,7 @@ subroutine genjt9(message,msgsent,i4tone) integer*4 i4DataSymbols(69) !Data symbols (values 0-7) integer*4 i4GrayCodedSymbols(69) !Gray-coded symbols (values 0-7) integer*4 i4tone(85) !Tone #s, data and sync (values 0-8) - integer isync(85) !Sync vector - data isync/ & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0, & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0, & - 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, & - 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, & - 1,0,0,0,1/ + include 'jt9sync.f90' save call packmsg(message,i4Msg6BitWords) !Pack message into 12 6-bit bytes diff --git a/lib/jt9sim.f90 b/lib/jt9sim.f90 index dc0606402..a9c25d758 100644 --- a/lib/jt9sim.f90 +++ b/lib/jt9sim.f90 @@ -15,14 +15,7 @@ program jt9sim integer*1 i1SoftSymbols(207) integer*1 i1 equivalence (i1,i4) - - integer isync(85) !Sync vector - data isync/ & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0, & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0, & - 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, & - 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, & - 1,0,0,0,1/ + include 'jt9sync.f90' common/acom/dat(NMAX),iwave(NMAX) nargs=iargc() diff --git a/lib/peakdf9.f90 b/lib/peakdf9.f90 index c735321bc..5db762ca0 100644 --- a/lib/peakdf9.f90 +++ b/lib/peakdf9.f90 @@ -2,8 +2,7 @@ subroutine peakdf9(c0,npts8,nsps8,istart,foffset,idfpk) complex c0(0:npts8-1) complex zsum - integer ii(16) !Locations of sync symbols - data ii/1,6,11,16,21,26,31,39,45,51,57,63,69,75,81,85/ + include 'jt9sync.f90' twopi=8.0*atan(1.0) df=1500.0/nsps8 diff --git a/lib/peakdt9.f90 b/lib/peakdt9.f90 index a4178aef7..45844fddd 100644 --- a/lib/peakdt9.f90 +++ b/lib/peakdt9.f90 @@ -2,8 +2,7 @@ subroutine peakdt9(c0,npts8,nsps8,istart,foffset,idtpk) complex c0(0:npts8-1) complex zsum - integer ii(16) !Locations of sync symbols - data ii/1,6,11,16,21,26,31,39,45,51,57,63,69,75,81,85/ + include 'jt9sync.f90' twopi=8.0*atan(1.0) smax=0. diff --git a/lib/redsync.f90 b/lib/redsync.f90 index cdfb286a2..7ee237865 100644 --- a/lib/redsync.f90 +++ b/lib/redsync.f90 @@ -3,8 +3,7 @@ subroutine redsync(ss,ntrperiod,ihsym,iz,red) Parameter (NSMAX=22000) real*4 ss(184,NSMAX) real*4 red(NSMAX) - integer ii(16) !Locations of sync half-symbols - data ii/1,11,21,31,41,51,61,77,89,101,113,125,137,149,161,169/ + include 'jt9sync.f90' lagmax=9 if(ntrperiod.eq.2) lagmax=5 @@ -20,7 +19,7 @@ subroutine redsync(ss,ntrperiod,ihsym,iz,red) ref=0. nr=0 do j=1,16 - k=ii(j)+lag + k=ii2(j)+lag if(k.ge.1 .and. k.le.ihsym) then sig=sig + ss(k,i) ns=ns+1 diff --git a/lib/spec9.f90 b/lib/spec9.f90 index cfe682834..7e0786f99 100644 --- a/lib/spec9.f90 +++ b/lib/spec9.f90 @@ -3,21 +3,14 @@ subroutine spec9(c0,npts8,nsps,fpk0,fpk,xdt,i1SoftSymbols) parameter (MAXFFT=31500) complex c0(0:npts8-1) complex c1(0:2700000) + complex c2(0:2700000) real ssym(0:7,69) complex c(0:MAXFFT-1) integer*1 i1SoftSymbolsScrambled(207) integer*1 i1SoftSymbols(207) - integer isync(85) !Sync vector - data isync/ & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0, & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0, & - 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, & - 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, & - 1,0,0,0,1/ - integer ii(16) !Locations of sync symbols - data ii/1,6,11,16,21,26,31,39,45,51,57,63,69,75,81,85/ integer ig(0:7) data ig/0,1,3,2,7,6,4,5/ !Gray code removal + include 'jt9sync.f90' save ! Fix up the data in c0() @@ -37,6 +30,22 @@ subroutine spec9(c0,npts8,nsps,fpk0,fpk,xdt,i1SoftSymbols) c1(i)=fac*cmplx(aimag(c0(i)),real(c0(i)))*cmplx(cos(phi),sin(phi)) enddo +!### + c2(0:npts8-1)=c1(0:npts8-1) + c2(npts8:)=0. + nfft4=256*1024 + df4=1500.0/nfft4 + call four2a(c2,nfft4,1,-1,1) + rewind 71 + do i=0,nfft4/2 + freq=i*df4 + p=1.e-5*(real(c2(i))**2 + aimag(c2(i))**2) + write(71,3001) freq,p +3001 format(2f15.3) + enddo + call flush(71) +!### + nsps8=nsps/8 foffset=fpk0 istart=1520 diff --git a/lib/sync9.f90 b/lib/sync9.f90 index f831292d7..0d362b54b 100644 --- a/lib/sync9.f90 +++ b/lib/sync9.f90 @@ -3,16 +3,7 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred) parameter (NSMAX=22000) !Max length of saved spectra real ss(184,NSMAX) real ccfred(NSMAX) - - integer ii(16) !Locations of sync half-symbols - data ii/1,11,21,31,41,51,61,77,89,101,113,125,137,149,161,169/ - integer isync(85) !Sync vector for half-symbols - data isync/ & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0, & - 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0, & - 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, & - 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, & - 1,0,0,0,1/ + include 'jt9sync.f90' ipk=0 ipkbest=0 @@ -35,7 +26,7 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred) do lag=-lagmax,lagmax sum=0. do j=1,16 - k=ii(j) + lag + k=ii2(j) + lag if(k.ge.1) sum=sum + ss(k,i) enddo if(sum.gt.smax) then @@ -44,18 +35,18 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred) lagpk=lag endif enddo + ccfred(i)=smax !Best at this freq, over all lags if(smax.gt.sbest) then sbest=smax ipkbest=ipk -! lagpkbest=lagpk + lagpkbest=lagpk endif - ccfred(i)=smax enddo sum=0. nsum=0 do i=ia,ib - if(abs(i-ipkbest).ge.2) then + if(abs(i-ipkbest).ge.4) then sum=sum+ccfred(i) nsum=nsum+1 endif @@ -67,5 +58,11 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,sync,snr,fpk,ccfred) if(sync.gt.10.0) sync=10.0 fpk=(ipkbest-1)*df3 + do i=1,184 + write(72,3007) i,ss(i,684) +3007 format(i3,f12.3) + enddo + call flush(72) + return end subroutine sync9 diff --git a/mainwindow.cpp b/mainwindow.cpp index e1dc19289..0b13ad986 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//---------------------------------------------------------------- MainWindow +//--------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h"