From a5066037b4b6e702edb3bf5cb7d7f7f69c73e7a9 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Mon, 26 Nov 2012 02:45:28 +0000 Subject: [PATCH] Subroutine test9() now does effective solution for DT. Next: expand this into an afc65b-like loop solution for DT f0 f1 f2 (phi0?) git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2773 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/test9.f90 | 21 ++++++++++++--------- mainwindow.cpp | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/test9.f90 b/lib/test9.f90 index d248428f7..1732bc6ef 100644 --- a/lib/test9.f90 +++ b/lib/test9.f90 @@ -23,31 +23,34 @@ subroutine test9(c0,npts8,nsps8) nspsd=nsps8/ndown nz=npts8/ndown + +! Start of afc loop here: solve for DT, f0, f1, f2, (phi0) ? p=0. i0=5*nspsd do i=0,nz-1 z=sum(c2(max(i-(nspsd-1),0):i)) !Integrate p(i0+i)=real(z)**2 + aimag(z)**2 !Symbol power at freq=0 -! write(51,3001) i,p(i) +! Option here for coherent processing ? enddo iz=85*nspsd - fac0=1.0/69.0 - fac1=1.0/16.0 lagmax=13*nspsd do lag=0,lagmax - ss=0. - do i=0,iz-1 - if(isync(1+i/nspsd).eq.1) then - ss=ss + fac1*p(i+lag) !Add the sync powers + sum0=0. + sum1=0. + j=-nspsd + do i=1,85 + j=j+nspsd + if(isync(i).eq.1) then + sum1=sum1+p(j+lag) else - ss=ss - fac0*p(i+lag) !Subtract the non-sync powers + sum0=sum0+p(j+lag) endif enddo + ss=(sum1/16.0)/(sum0/69.0) - 1.0 write(52,3001) lag,ss 3001 format(i5,f12.3) enddo return end subroutine test9 - diff --git a/mainwindow.cpp b/mainwindow.cpp index 04b7626f6..b1642789c 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//--------------------------------------------------------------- MainWindow +//-------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h"