diff --git a/lib/genmsk.f90 b/lib/genmsk.f90 deleted file mode 100644 index a1e8e12ae..000000000 --- a/lib/genmsk.f90 +++ /dev/null @@ -1,104 +0,0 @@ -!subroutine genms(msg28,samfac,iwave,cwave,isrch,nwave) -subroutine genmsk(msg28,iwave,nwave) - -! Generate a JTMS wavefile. - - parameter (NMAX=30*48000) !Max length of wave file - integer*2 iwave(NMAX) !Generated wave file - complex cwave(NMAX) !Alternative for searchms - character*28 msg28 !User message - character*29 msg - character cc*64 - integer sent(203) - real*8 dt,phi,f,f0,dfgen,dphi,twopi,foffset,samfac - integer np(9) - data np/5,7,9,11,13,17,19,23,29/ !Permissible message lengths -! 1 2 3 4 5 6 -! 0123456789012345678901234567890123456789012345678901234567890123 - data cc/'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ./?- _ @'/ - -!### - samfac=1.d0 - isrch=0 -!### - - msg=msg28//' ' !Extend to 29 characters - do i=28,1,-1 !Find user's message length - if(msg(i:i).ne.' ') go to 1 - enddo -1 iz=i+1 !Add one for space at EOM - msglen=iz - if(isrch.ne.0) go to 3 - do i=1,9 - if(np(i).ge.iz) go to 2 - enddo - i=8 -2 msglen=np(i) - -! Convert message to a bit sequence, 7 bits per character (6 + odd parity) -! Use odd parity because then code 44 (from a 0-63 range) is the 7-bit -! Barker code. -3 sent=0 - k=0 - do j=1,msglen - if(msg(j:j).eq.' ') then - i=1 + 44 - go to 5 - else - do i=1,64 - if(msg(j:j).eq.cc(i:i)) go to 5 - enddo - endif -5 m=0 - do n=5,0,-1 !Each character gets 6 bits - k=k+1 - sent(k)=iand(1,ishft(i-1,-n)) - m=m+sent(k) - enddo - k=k+1 - sent(k) = 1 - iand(m,1) !Insert odd parity bit - enddo - nsym=k - - ! Set up necessary constants - twopi=8.d0*atan(1.d0) - nsps=24 - dt=1.d0/(samfac*48000.d0) - f0=48000.d0/nsps - dfgen=0.5d0*f0 - foffset=1500.d0 - f0 - t=0.d0 - k=0 - phi=0.d0 - nrpt=NMAX/(nsym*nsps) - if(isrch.ne.0) nrpt=1 - - do irpt=1,nrpt - do j=1,nsym - if(sent(j).eq.1) then - f=f0 + 0.5d0*dfgen + foffset - else - f=f0 - 0.5d0*dfgen + foffset - endif - dphi=twopi*f*dt - do i=1,nsps - k=k+1 - phi=phi+dphi - if(isrch.eq.0) then - iwave(k)=nint(32767.0*sin(phi)) - else - cwave(k)=cmplx(cos(phi),sin(phi)) - endif - enddo - enddo - enddo - - if(isrch.eq.0) iwave(k+1:)=0 - nwave=k - -! call makepings(iwave,nwave) -! write(71) iwave -! call flush(71) - - return -end subroutine genmsk diff --git a/lib/msgs.txt b/lib/msgs.txt new file mode 100644 index 000000000..c38aba972 --- /dev/null +++ b/lib/msgs.txt @@ -0,0 +1,60 @@ +W1AAA K2BBB EM00 +W2CCC K3DDD EM01 +W3EEE K4FFF EM02 +W5GGG K6HHH EM03 +W7III K8JJJ EM04 +W9KKK K0LLL EM05 +G0MMM F1NNN JN06 +G2OOO F3PPP JN07 +G4QQQ F5RRR JN08 +G6SSS F7TTT JN09 +W1XAA K2XBB EM10 +W2XCC K3XDD EM11 +W3XEE K4XFF EM12 +W5XGG K6XHH EM13 +W7XII K8XJJ EM14 +W9XKK K0XLL EM15 +G0XMM F1XNN JN16 +G2XOO F3XPP JN17 +G4XQQ F5XRR JN18 +G6XSS F7XTT JN19 +W1YAA K2YBB EM20 +W2YCC K3YDD EM21 +W3YEE K4YFF EM22 +W5YGG K6YHH EM23 +W7YII K8YJJ EM24 +W9YKK K0YLL EM25 +G0YMM F1YNN JN26 +G2YOO F3YPP JN27 +G4YQQ F5YRR JN28 +G6YSS F7YTT JN29 +W1ZAA K2ZBB EM30 +W2ZCC K3ZDD EM31 +W3ZEE K4ZFF EM32 +W5ZGG K6ZHH EM33 +W7ZII K8ZJJ EM34 +W9ZKK K0ZLL EM35 +G0ZMM F1ZNN JN36 +G2ZOO F3ZPP JN37 +G4ZQQ F5ZRR JN38 +G6ZSS F7ZTT JN39 +W1AXA K2BXB EM40 +W2CXC K3DXD EM41 +W3EXE K4FXF EM42 +W5GXG K6HXH EM43 +W7IXI K8JXJ EM44 +W9KXK K0LXL EM45 +G0MXM F1NXN JN46 +G2OXO F3PXP JN47 +G4QXQ F5RXR JN48 +G6SXS F7TXT JN49 +W1AYA K2BYB EM50 +W2CYC K3DYD EM51 +W3EYE K4FYF EM52 +W5GYG K6HYH EM53 +W7IYI K8JYJ EM54 +W9KYK K0LYL EM55 +G0MYM F1NYN JN56 +G2OYO F3PYP JN57 +G4QYQ F5RYR JN58 +G6SYS F7TYT JN59 diff --git a/lib/symspec.f90 b/lib/symspec.f90 index 63c6783ee..53715d455 100644 --- a/lib/symspec.f90 +++ b/lib/symspec.f90 @@ -125,9 +125,20 @@ subroutine symspec(k,ntrperiod,nsps,ndiskdat,nb,nbslider,pxdb,s,f0a,df3, & cx(i)=c0(ja+i) enddo +!### +! if(nzap/178.lt.50 .and. (ndiskdat.eq.0 .or. ihsym.lt.280)) then + nsum=nblks*kstep1 - nzap + if(nsum.le.0) nsum=1 + rms=sqrt(0.5*px/nsum) +! endif pxdb=0. - if(rmsx.gt.1.0) pxdb=20.0*log10(rmsx) + pxdb=20.0*log10(rms) + 166.0 !### ??? ### if(pxdb.gt.60.0) pxdb=60.0 +! write(71,*) kstep1,nzap,nsum,px,rms,pxdb +! flush(71) + +!### + ihsym=ihsym+1 call four2a(cx,nfft3,1,-1,1) !Third forward FFT (X) diff --git a/lib/timf2.f90 b/lib/timf2.f90 index 0debfba0d..eecbb2f3d 100644 --- a/lib/timf2.f90 +++ b/lib/timf2.f90 @@ -147,6 +147,7 @@ subroutine timf2(x0,k,nfft,nwindow,nb,peaklimit,faclim,x1, & do i=0,kstep-1 px=px + xw(i)*xw(i) enddo + px=px/kstep x1(0:kstep-1)=xw(0:kstep-1) + xs(0:kstep-1) !Recombine weak + strong diff --git a/widegraph.cpp b/widegraph.cpp index 37ed73a9f..b8224961b 100644 --- a/widegraph.cpp +++ b/widegraph.cpp @@ -69,7 +69,7 @@ void WideGraph::dataSink2(float s[], float df3, int ihsym, int ndiskdata, uchar lstrong[]) { static float splot[NSMAX]; - float swide[2048]; + static float swide[2048]; float smax; // double df; int nbpp = ui->widePlot->binsPerPixel(); @@ -97,7 +97,8 @@ void WideGraph::dataSink2(float s[], float df3, int ihsym, int ndiskdata, int w=ui->widePlot->plotWidth(); int i0=0; //### int i=i0; - for (int j=0; j<2048; j++) { + int jz=1000.0/df3; + for (int j=0; j