mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
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:
parent
d9e5e8919e
commit
9fbdc274bb
@ -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
|
||||||
|
30
decode1a.f
30
decode1a.f
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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'
|
||||||
|
15
recvpkt.F90
15
recvpkt.F90
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user