From f465dcf1f2b29899e99ec370e4ef968be5932639 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 17 Jan 2007 17:50:59 +0000 Subject: [PATCH] Corrected the error in r357. Now does Leif's evaluation or best-contrast waterfall for polarized signals correctly. Also fixed problem with disused FSK441 message templates in MAP65.INI. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@358 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- Makefile.win | 2 +- map65.py | 34 ---------------------------------- map65a.f90 | 4 ++-- spec.f90 | 5 +++-- symspec.f | 37 +++++++++++++++++++------------------ 5 files changed, 25 insertions(+), 57 deletions(-) diff --git a/Makefile.win b/Makefile.win index af5ee08c7..eddc7e255 100644 --- a/Makefile.win +++ b/Makefile.win @@ -17,7 +17,7 @@ F2PYONLY = ftn_init ftn_quit audio_init getfile azdist0 astro0 \ SRCS2F90 = a2d.f90 astro0.f90 audio_init.f90 azdist0.f90 \ decode1.f90 ftn_init.f90 ftn_quit.f90 wsjtgen.f90 \ runqqq.f90 fivehz.f90 flushqqq.f90 map65a0.f90 \ - rfile.f90 rfile3a.f90 spec.f90 map65a.f90 display.f90 \ + rfile.f90 rfile3a.f90 spec.f90 map65a.f90 display.F90 \ getfile.f90 getfile2.f90 SRCS2F77 = indexx.f gen65.f chkmsg.f \ diff --git a/map65.py b/map65.py index 7b6a7b47a..dc6050e2b 100644 --- a/map65.py +++ b/map65.py @@ -922,25 +922,6 @@ def GenAltMsgs(event=NONE): tx6.insert(0,tx6alt.upper()) altmsg=1 -#------------------------------------------------------ setmsg -def setmsg(template,r): - msg="" - npct=0 - for i in range(len(template)): - if npct: - if template[i]=="M": msg=msg+options.MyCall.get().upper().strip() - if template[i]=="T": msg=msg+ToRadio.get().upper().strip() - if template[i]=="R": msg=msg+r - if template[i]=="G": msg=msg+options.MyGrid.get()[:4] - if template[i]=="L": msg=msg+options.MyGrid.get() - npct=0 - else: - npct=0 - if template[i]=="%": - npct=1 - else: - msg=msg+template[i] - return msg.upper() #------------------------------------------------------ plot_large def plot_large(): @@ -1852,14 +1833,6 @@ try: options.DevoutName.set(value) Audio.gcom1.devout_name=(options.DevoutName.get()+' ')[:12] elif key == 'SamFacOut': options.samfacout.set(value) - elif key == 'Template1': options.Template1.set(value.replace("_"," ")) - elif key == 'Template2': options.Template2.set(value.replace("_"," ")) - elif key == 'Template3': options.Template3.set(value.replace("_"," ")) - elif key == 'Template4': options.Template4.set(value.replace("_"," ")) - elif key == 'Template5': options.Template5.set(value.replace("_"," ")) - elif key == 'Template6': - options.Template6.set(value.replace("_"," ")) - if options.Template6.get()==" ": options.Template6.set("") elif key == 'AddPrefix': options.addpfx.set(value.replace("_"," ").lstrip()) elif key == 'AuxRA': options.auxra.set(value) elif key == 'AuxDEC': options.auxdec.set(value) @@ -1936,13 +1909,6 @@ f.write("PttPort " + str(options.PttPort.get()) + "\n") f.write("Mileskm " + str(options.mileskm.get()) + "\n") f.write("AudioOut " + options.DevoutName.get() + "\n") f.write("SamFacOut " + str(options.samfacout.get()) + "\n") -if options.Template6.get()=="": options.Template6.set("_") -f.write("Template1 " + options.Template1.get().replace(" ","_") + "\n") -f.write("Template2 " + options.Template2.get().replace(" ","_") + "\n") -f.write("Template3 " + options.Template3.get().replace(" ","_") + "\n") -f.write("Template4 " + options.Template4.get().replace(" ","_") + "\n") -f.write("Template5 " + options.Template5.get().replace(" ","_") + "\n") -f.write("Template6 " + options.Template6.get().replace(" ","_") + "\n") if options.addpfx.get().lstrip()=="": options.addpfx.set("_") f.write("AddPrefix " + options.addpfx.get().lstrip() + "\n") if options.auxra.get()=="": options.auxra.set("0") diff --git a/map65a.f90 b/map65a.f90 index 29e5be5bc..b1c022fc9 100644 --- a/map65a.f90 +++ b/map65a.f90 @@ -19,7 +19,7 @@ subroutine map65a parameter (NSMAX=60*96000) !Samples per 60 s file integer*2 id(4,NSMAX) !46 MB: raw data from Linrad timf2 common/datcom/nutc,newdat2,id - common/spcom/ip0,ss(5,322,NFFT) !169 MB: half-symbol spectra + common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT) data blank/' '/ data shmsg0/'ATT','RO ','RRR','73 '/ data nfile/0/,nutc0/-999/,nid/0/ @@ -95,7 +95,7 @@ subroutine map65a short(3,i)=0. enddo - call symspec(id,nz,ss,savg) + call symspec(id,nz,savg) newspec=1 freq0=-999. diff --git a/spec.f90 b/spec.f90 index c1056f452..83856c9f1 100644 --- a/spec.f90 +++ b/spec.f90 @@ -15,7 +15,8 @@ subroutine spec(brightness,contrast,ngain,nspeed,a,a2) integer nstep(5) integer b0,c0 real s(NFFT,NY) - common/spcom/ip0,ss(5,322,NFFT) !169 MB: half-symbol spectra +! Could save memory by doing the averaging-by-7 (or 10?) of ss5 in symspec. + common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT) include 'gcom1.f90' include 'gcom2.f90' include 'gcom3.f90' @@ -43,7 +44,7 @@ subroutine spec(brightness,contrast,ngain,nspeed,a,a2) do n=1,nadd k=k+1 do i=1,NFFT - s(i,j)=s(i,j) + ss(5,k,i) !### ip value is temporary ### + s(i,j)=s(i,j) + ss5(k,i) enddo enddo enddo diff --git a/symspec.f b/symspec.f index f01042f90..1702b1b30 100644 --- a/symspec.f +++ b/symspec.f @@ -1,14 +1,14 @@ - subroutine symspec(id,nz,ss,savg) + subroutine symspec(id,nz,savg) C Compute spectra at four polarizations, using half-symbol steps. parameter (NFFT=32768) integer*2 id(4,nz) - real ss(5,322,NFFT) real savg(4,NFFT) complex cx(NFFT),cy(NFFT) ! pad to 32k with zeros complex z real*8 ts,hsym + common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT) fac=1.e-4 hsym=2048.d0*96000.d0/11025.d0 !Samples per half symbol @@ -42,28 +42,29 @@ C Compute spectra at four polarizations, using half-symbol steps. call four2a(cx,NFFT,1,1,1) !Do the FFTs call four2a(cy,NFFT,1,1,1) - do i=1,NFFT !Save and accumulate power spectra - s1=real(cx(i))**2 + aimag(cx(i))**2 - ss(1,n,i)=s1 ! Pol = 0 - savg(1,i)=savg(1,i) + s1 + do i=1,NFFT !Save and accumulate power spectra + sx=real(cx(i))**2 + aimag(cx(i))**2 + ss(1,n,i)=sx ! Pol = 0 + savg(1,i)=savg(1,i) + sx z=cx(i) + cy(i) - s2=0.5*(real(z)**2 + aimag(z)**2) - ss(2,n,i)=s2 ! Pol = 45 - savg(2,i)=savg(2,i) + s2 + s=0.5*(real(z)**2 + aimag(z)**2) + ss(2,n,i)=s ! Pol = 45 + savg(2,i)=savg(2,i) + s - s3=real(cy(i))**2 + aimag(cy(i))**2 - ss(3,n,i)=s3 ! Pol = 90 - savg(3,i)=savg(3,i) + s3 + sy=real(cy(i))**2 + aimag(cy(i))**2 + ss(3,n,i)=sy ! Pol = 90 + savg(3,i)=savg(3,i) + sy z=cx(i) - cy(i) - s4=0.5*(real(z)**2 + aimag(z)**2) - ss(4,n,i)=s4 ! Pol = 135 - savg(4,i)=savg(4,i) + s4 + s=0.5*(real(z)**2 + aimag(z)**2) + ss(4,n,i)=s ! Pol = 135 + savg(4,i)=savg(4,i) + s + + z=cx(i)*conjg(cy(i)) + ss5(n,i)=0.5*(sx+sy) + (real(z)**2 + aimag(z)**2 - + + sx*sy)/(sx+sy) - z=cx(i) * conjg(cy(i)) - ss(5,n,i)=0.5*(s1+s3) + (real(z)**2 + aimag(z)**2 - - + s1*s3)/(s1+s3) enddo enddo