From 276d7a4c0e766931a206cc324206c5f5902deaf5 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 6 Sep 2012 20:14:01 +0000 Subject: [PATCH] Trying to find out why switching submodes does not work. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2562 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- libm65/map65a.f90 | 3 ++ libm65/symspec.f90 | 85 +++++++++++++++------------------------------- mainwindow.cpp | 2 +- 3 files changed, 31 insertions(+), 59 deletions(-) diff --git a/libm65/map65a.f90 b/libm65/map65a.f90 index 73af16bb7..a7e0af72c 100644 --- a/libm65/map65a.f90 +++ b/libm65/map65a.f90 @@ -56,6 +56,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & 2 if(ndphi.eq.1) dphi=30*iloop/57.2957795 do nqd=1,0,-1 +! do nqd=1,1,-1 if(nqd.eq.1) then !Quick decode, at fQSO fa=1000.0*(fqso+0.001*mousedf) - ntol fb=1000.0*(fqso+0.001*mousedf) + ntol + 4*53.8330078 @@ -80,6 +81,8 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, & jpz=1 if(xpol) jpz=4 +! ia=17160 +! ib=17160 do i=ia,ib !Search over freq range freq=0.001*(i-16385)*df ! Find the local base level for each polarization; update every 10 bins. diff --git a/libm65/symspec.f90 b/libm65/symspec.f90 index e35ab15db..2c670d41d 100644 --- a/libm65/symspec.f90 +++ b/libm65/symspec.f90 @@ -47,7 +47,7 @@ subroutine symspec(k,nfast,nxpol,ndiskdat,nb,nbslider,idphi,nfsample, & w(i)=(sin(i*pi/NFFT))**2 !Window for nfast=1 if(i.lt.17833) w2a(i)=(sin(i*pi/17832.925))**2 !Window a for nfast=2 j=i-8916 - if(j.lt.17833) w2b(i)=(sin(j*pi/17832.925))**2 !Window b for nfast=2 + if(j.gt.0 .and. j.lt.17833) w2b(i)=(sin(j*pi/17832.925))**2 ! b enddo endif @@ -144,6 +144,7 @@ subroutine symspec(k,nfast,nxpol,ndiskdat,nb,nbslider,idphi,nfsample, & if(nxpol.ne.0) cy00=cy do mm=1,nfast + ihsym=ihsym+1 if(nfast.eq.1) then cx=w*cx00 !Apply window for 2nd forward FFT if(nxpol.ne.0) cy=w*cy00 @@ -171,69 +172,37 @@ subroutine symspec(k,nfast,nxpol,ndiskdat,nb,nbslider,idphi,nfsample, & if(iqapply.ne.0) call iqfix(cy,NFFT,gainy,phasey) endif - ihsym=ihsym+1 n=ihsym - if(mm.eq.1) then - do i=1,NFFT - sx=real(cx(i))**2 + aimag(cx(i))**2 - ss(1,n,i)=sx ! Pol = 0 - savg(1,i)=savg(1,i) + sx - - if(nxpol.ne.0) then - z=cx(i) + cy(i) - s45=0.5*(real(z)**2 + aimag(z)**2) - ss(2,n,i)=s45 ! Pol = 45 - savg(2,i)=savg(2,i) + s45 + do i=1,NFFT + sx=real(cx(i))**2 + aimag(cx(i))**2 + ss(1,n,i)=sx ! Pol = 0 + savg(1,i)=savg(1,i) + sx - sy=real(cy(i))**2 + aimag(cy(i))**2 - ss(3,n,i)=sy ! Pol = 90 - savg(3,i)=savg(3,i) + sy + if(nxpol.ne.0) then + z=cx(i) + cy(i) + s45=0.5*(real(z)**2 + aimag(z)**2) + ss(2,n,i)=s45 ! Pol = 45 + savg(2,i)=savg(2,i) + s45 + + 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) - s135=0.5*(real(z)**2 + aimag(z)**2) - ss(4,n,i)=s135 ! Pol = 135 - savg(4,i)=savg(4,i) + s135 + z=cx(i) - cy(i) + s135=0.5*(real(z)**2 + aimag(z)**2) + ss(4,n,i)=s135 ! Pol = 135 + savg(4,i)=savg(4,i) + s135 - z=cx(i)*conjg(cy(i)) - q=sx - sy - u=2.0*real(z) - ssz5a(i)=0.707*sqrt(q*q + u*u) !Spectrum of linear polarization + z=cx(i)*conjg(cy(i)) + q=sx - sy + u=2.0*real(z) + ssz5a(i)=0.707*sqrt(q*q + u*u) !Spectrum of linear polarization ! Leif's formula: ! ssz5a(i)=0.5*(sx+sy) + (real(z)**2 + aimag(z)**2 - sx*sy)/(sx+sy) - else - ssz5a(i)=sx - endif - enddo - else - do i=1,NFFT - sx=real(cx(i))**2 + aimag(cx(i))**2 - ss(1,n,i)=ss(1,n,i) + sx ! Pol = 0 - savg(1,i)=savg(1,i) + sx - - if(nxpol.ne.0) then - z=cx(i) + cy(i) - s45=0.5*(real(z)**2 + aimag(z)**2) - ss(2,n,i)=ss(2,n,i) + s45 ! Pol = 45 - savg(2,i)=savg(2,i) + s45 - - sy=real(cy(i))**2 + aimag(cy(i))**2 - ss(3,n,i)=ss(3,n,i) + sy ! Pol = 90 - savg(3,i)=savg(3,i) + sy - - z=cx(i) - cy(i) - s135=0.5*(real(z)**2 + aimag(z)**2) - ss(4,n,i)=ss(4,n,i) + s135 ! Pol = 135 - savg(4,i)=savg(4,i) + s135 - - z=cx(i)*conjg(cy(i)) - q=sx - sy - u=2.0*real(z) - ssz5a(i)=ssz5a(i) + 0.707*sqrt(q*q + u*u) !Spectrum of lin pol - else - ssz5a(i)=ssz5a(i) + sx - endif - enddo - endif + else + ssz5a(i)=sx + endif + enddo enddo if(ihsym.eq.278) then diff --git a/mainwindow.cpp b/mainwindow.cpp index 34cbe05ae..023c2d596 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------- MainWindow +//------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h"