diff --git a/CMakeLists.txt b/CMakeLists.txt index 385e7ebbb..00a9d1f10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,7 +101,8 @@ elseif (CMAKE_HOST_WIN32) add_definitions (-DWIN32) endif () -set_property (DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT) +#set_property (DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT) +set_property (DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_WARNING_OUTPUT) # build the subdirectories add_subdirectory (libm65) diff --git a/libm65/qra64b.f90 b/libm65/qra64b.f90 index a2e4588bc..7681076b9 100644 --- a/libm65/qra64b.f90 +++ b/libm65/qra64b.f90 @@ -9,7 +9,8 @@ subroutine qra64b(nutc,nqd,ikhz,mousedf,ntol,xpol,mycall_12,hiscall_12, & character*12 mycall_12,hiscall_12 character*6 hisgrid_6 common/cacb/ca,cb - + + open(17,file='red.dat',status='unknown') df=96000.0/NFFT1 k0=(ikhz-75.74)*1000.0/df nh=nfft2/2 @@ -28,6 +29,7 @@ subroutine qra64b(nutc,nqd,ikhz,mousedf,ntol,xpol,mycall_12,hiscall_12, & ! write(67) nutc,cx,cy call qra64c(cx,cy,nutc,nqd,ikhz,mousedf,ntol,xplo,mycall_12, & hiscall_12,hisgrid_6) - + close(17) + return end subroutine qra64b diff --git a/libm65/sync64.f90 b/libm65/sync64.f90 index dc07dcad6..a56bd1594 100644 --- a/libm65/sync64.f90 +++ b/libm65/sync64.f90 @@ -87,7 +87,6 @@ subroutine sync64(c0,nf1,nf2,nfqso,ntol,mode64,emedelay,dtx,f0,jpk,sync, & s3=0. s0b=0. do i=ia,ib - freq=i*df3 s1(i)=real(c1(i))**2 + aimag(c1(i))**2 s2(i)=real(c2(i))**2 + aimag(c2(i))**2 s3(i)=real(c3(i))**2 + aimag(c3(i))**2 @@ -119,10 +118,6 @@ subroutine sync64(c0,nf1,nf2,nfqso,ntol,mode64,emedelay,dtx,f0,jpk,sync, & call timer('sync64_2',1) enddo -! s0a=s0a+2.0 -! write(17) ia,ib,s0a(ia:ib) !Save data for red curve -! close(17) - nskip=50 call lorentzian(s0a(ia+nskip:ib-nskip),iz-2*nskip,a) f0a=(a(3)+ia+49)*df3 @@ -140,8 +135,10 @@ subroutine sync64(c0,nf1,nf2,nfqso,ntol,mode64,emedelay,dtx,f0,jpk,sync, & rms2=sqrt(sq/40.0) sync2=10.0*log10(a(2)/rms2) + slimit=2.0 + rewind 17 rewind 76 - do i=1,iz-2*nskip + do i=2,iz-2*nskip-1,3 x=i z=(x-a(3))/(0.5*a(4)) yfit=a(1) @@ -150,9 +147,13 @@ subroutine sync64(c0,nf1,nf2,nfqso,ntol,mode64,emedelay,dtx,f0,jpk,sync, & yfit=a(1) + a(2)*(1.0/d - 0.1) endif j=i+ia+49 - write(76,1110) j*df3-3000.0,s0a(j),yfit + freq=j*df3-3000.0 + ss=(s0a(j-1)+s0a(j)+s0a(j+1))/3.0 + if(ss.gt.slimit) write(17,1110) freq,ss + write(76,1110) freq,ss,yfit 1110 format(3f10.3) enddo + flush(17) flush(76) return diff --git a/plotter.cpp b/plotter.cpp index bfbd0ee73..3acfd8409 100644 --- a/plotter.cpp +++ b/plotter.cpp @@ -1,6 +1,8 @@ #include "plotter.h" #include #include +#include +#include #define MAX_SCREENSIZE 2048 @@ -127,6 +129,27 @@ void CPlotter::paintEvent(QPaintEvent *) // paintEvent() UTCstr(); painter2.drawText(5,10,m_sutc); } + + if(m_line==63) { + std::ifstream f; + f.open("./red.dat"); + if(f) { + int x; + float freq,sync; +// float df = 0.001*m_fSample/32768.0; + QPen pen0(Qt::red, 3); + painter2.setPen(pen0); + for(int i=0; i<50; i++) { + f >> freq >> sync; +// x = (freq - m_ZoomStartFreq)/df; + x=500; +// qDebug() << "a" << m_line << freq << sync << x; + painter2.drawLine(x,15,x,30); + } + } + } + + m_paintAllZoom=false; x00=x0;