Mostly working now, with multicast input. FFTs start at t=43 s, though.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@434 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2007-06-29 00:21:31 +00:00
parent d9e5e8919e
commit 9fbdc274bb
6 changed files with 27 additions and 31 deletions

View File

@ -30,11 +30,9 @@ subroutine decode1(iarg)
if((kk-kkdone).gt.32768) call symspec(id,kbuf,kk,kkdone,rxnoise, & if((kk-kkdone).gt.32768) call symspec(id,kbuf,kk,kkdone,rxnoise, &
newspec,newdat,ndecoding) newspec,newdat,ndecoding)
print*,'A',kbuf,kk,kkdone,newspec,newdat,ndecoding
if(ndecoding.gt.0 .and. mode(1:4).eq.'JT65') then if(ndecoding.gt.0 .and. mode(1:4).eq.'JT65') then
ndecdone=0 ndecdone=0
print*,'C',nutc,newdat,kbuf,kk,kkdone
call map65a(newdat) call map65a(newdat)
if(mousebutton.eq.0) ndecoding0=ndecoding if(mousebutton.eq.0) ndecoding0=ndecoding
ndecoding=0 ndecoding=0

View File

@ -86,24 +86,24 @@ C Find best DF, f1, f2, DT, and pol
if(i0.lt.1) i0=1 if(i0.lt.1) i0=1
nz=n6+1-i0 nz=n6+1-i0
ip0=ipol ! ip0=ipol
nflip=1 ! nflip=1
call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt,
+ ccfbest,dtbest) + ccfbest,dtbest)
nflip=-1 ! nflip=-1
ipol=ip0 ! ipol=ip0
call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, ! call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt,
+ ccfbest2,dtbest) ! + ccfbest2,dtbest)
!
if(ccfbest2.lt.ccfbest) then ! if(ccfbest2.lt.ccfbest) then
nflip=1 ! nflip=1
ipol=ip0 ! ipol=ip0
call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt, ! call afc65b(c5x(i0),c5y(i0),nz,fsample,nflip,ipol,a,dt,
+ ccfbest,dtbest) ! + ccfbest,dtbest)
else ! else
ccfbest=ccfbest ! ccfbest=ccfbest
endif ! endif
pol=a(4)/57.2957795 pol=a(4)/57.2957795
aa=cos(pol) aa=cos(pol)

View File

@ -55,6 +55,7 @@ subroutine getfile2(fname,len)
ndiskdat=1 ndiskdat=1
ndecoding=4 ndecoding=4
mousebutton=0 mousebutton=0
rxnoise=7.0
go to 999 go to 999
998 ierr=1001 998 ierr=1001

View File

@ -17,14 +17,13 @@ subroutine map65a(newdat)
logical even logical even
character decoded*22,blank*22 character decoded*22,blank*22
include 'datcom.f90' include 'datcom.f90'
include 'gcom2.f90'
common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT),savg(4,NFFT) common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT),savg(4,NFFT)
data blank/' '/ data blank/' '/
data shmsg0/'ATT','RO ','RRR','73 '/ data shmsg0/'ATT','RO ','RRR','73 '/
data nfile/0/,nutc0/-999/,nid/0/,ip000/1/,ip001/1/ data nfile/0/,nutc0/-999/,nid/0/,ip000/1/,ip001/1/
include 'gcom2.f90'
save save
! print*,'a',newdat,nagain,kbuf,kk,kkdone
pctlost=nlost/331.03 pctlost=nlost/331.03
if(nlost.ne.0) write(*,1001) nutc,nlost,pctlost if(nlost.ne.0) write(*,1001) nutc,nlost,pctlost
1001 format('UTC:',i5.4,' Lost packets:',i6,', or',f6.1,' %') 1001 format('UTC:',i5.4,' Lost packets:',i6,', or',f6.1,' %')
@ -219,7 +218,7 @@ subroutine map65a(newdat)
nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ### nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ###
nw=0 nw=0
write(11,1010) nkHz,ndf,npol,nutc,nsync2,dt,nw,decoded,nkv,nqual write(11,1010) nkHz,ndf,npol,nutc,nsync2,dt,nw,decoded,nkv,nqual
1010 format(i3,i5,i4,i5.4,i4,f5.1,i3,2x,a22,2i3) 1010 format(i3,i5,i4,i5.4,i4,f5.1,i3,2x,a22,i3,i4)
endif endif
enddo enddo
write(11,*) '$EOF' write(11,*) '$EOF'

View File

@ -21,7 +21,7 @@ subroutine recvpkt(iarg)
include 'gcom2.f90' include 'gcom2.f90'
equivalence (id,d8) equivalence (id,d8)
data nblock0/0/,first/.true./,kb/1/,ntx/0/,npkt/0/,nw/0/ data nblock0/0/,first/.true./,kb/1/,ntx/0/,npkt/0/,nw/0/
data sqave/0.0/,u/0.001/,rxnoise/0.0/ data sqave/0.0/,u/0.001/,rxnoise/0.0/,kbuf/1/
save save
! Open a socket to receive multicast data from Linrad ! Open a socket to receive multicast data from Linrad
@ -46,11 +46,6 @@ subroutine recvpkt(iarg)
endif endif
first=.false. first=.false.
!###
! kbuf=kb
! kk=k
!###
nsec=msec/1000 nsec=msec/1000
if(mod(nsec,60).eq.1) nreset=1 if(mod(nsec,60).eq.1) nreset=1
if(mod(nsec,60).eq.0 .and. nreset.eq.1) then if(mod(nsec,60).eq.0 .and. nreset.eq.1) then
@ -60,6 +55,7 @@ subroutine recvpkt(iarg)
k=0 k=0
if(kb.eq.2) k=NSMAX if(kb.eq.2) k=NSMAX
nlost=0 nlost=0
kbuf=kb
endif endif
if(kb.eq.1 .and. (k+174).gt.NSMAX) go to 20 if(kb.eq.1 .and. (k+174).gt.NSMAX) go to 20
@ -112,17 +108,20 @@ subroutine recvpkt(iarg)
!1010 format('UTC:',i5.4,' ns:',i3,' t:',f10.3,' k:',i8) !1010 format('UTC:',i5.4,' ns:',i3,' t:',f10.3,' k:',i8)
nsec0=nsec nsec0=nsec
ntx=ntx+transmitting ntx=ntx+transmitting
nutc=mutc
if(mod(nsec,60).eq.43) kk=k !### ??? ###
if(mod(nsec,60).eq.52) then if(mod(nsec,60).eq.52) then
kk=k kk=k
kbuf=kb kbuf=kb
nutc=mutc
klost=nlost klost=nlost
! if(ntx.lt.20) then ! if(ntx.lt.20) then
! newdat=1 ! newdat=1
! ndecoding=1 ! ndecoding=1
! endif ! endif
ntx=0 ! ntx=0
endif endif
print*,ns,nutc,kbuf,kk,kkdone
endif endif
endif endif

View File

@ -11,9 +11,9 @@ C Compute spectra at four polarizations, using half-symbol steps.
real*8 ts,hsym real*8 ts,hsym
common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT),savg(4,NFFT) common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT),savg(4,NFFT)
fac=1.e-4 ! fac=1.e-4
! fac=1.7e-4 ! fac=1.7e-4
! fac=0.0002 * 10.0**(0.05*(-rxnoise)) fac=0.0002 * 10.0**(0.05*(-rxnoise))
hsym=2048.d0*96000.d0/11025.d0 !Samples per half symbol hsym=2048.d0*96000.d0/11025.d0 !Samples per half symbol
npts=hsym !Integral samples per half symbol npts=hsym !Integral samples per half symbol
ntot=322 !Half symbols per transmission ntot=322 !Half symbols per transmission
@ -51,7 +51,6 @@ C Compute spectra at four polarizations, using half-symbol steps.
call four2a(cy,NFFT,1,1,1) call four2a(cy,NFFT,1,1,1)
n=n+1 n=n+1
print*,'B',n,kbuf,kkdone,kk,i0
do i=1,NFFT !Save and accumulate power spectra do i=1,NFFT !Save and accumulate power spectra
sx=real(cx(i))**2 + aimag(cx(i))**2 sx=real(cx(i))**2 + aimag(cx(i))**2
ss(1,n,i)=sx ! Pol = 0 ss(1,n,i)=sx ! Pol = 0