From 9c786a42d2611f564d2f393a0bc130cff1890e18 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 13 Jul 2012 15:00:23 +0000 Subject: [PATCH] Some cleanup of GUI. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/jtms3@2510 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- libm65/specjtms.f90 | 23 +++++++++++++++++------ mainwindow.cpp | 16 +++++++++++++++- mainwindow.ui | 2 +- plotter.cpp | 5 +++-- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/libm65/specjtms.f90 b/libm65/specjtms.f90 index 8da7ed3fb..37f35e1e3 100644 --- a/libm65/specjtms.f90 +++ b/libm65/specjtms.f90 @@ -37,6 +37,12 @@ subroutine specjtms(k,px,pxsmo,spk0,f0) rms=sqrt(sq) px=db(sq) - 23.0 pxsmo=db(sqsmo) - 23.0 + + do i=i0,ia-1 + d=id(i) + sq=sq + d*d + enddo + sq0=sq ! write(13,1010) t,rms,sq,px,pxsmo !1010 format(5f12.3) if(k.lt.nfft) return @@ -65,20 +71,25 @@ subroutine specjtms(k,px,pxsmo,spk0,f0) call four2a(cx2,nfft,1,-1,1) !Forward c2c FFT of cx2 - spk0=0. j0=nint(2.0*1428.57/df) ja=j0-107 jb=j0+107 do j=ja,jb - sq=1.e-4*(real(cx2(j))**2 + aimag(cx2(j))**2) - s2(j-ja+1)=sq - if(sq.gt.spk0) then - spk0=sq - f=(j-1)*df + s2(j-ja+1)=1.e-4*(real(cx2(j))**2 + aimag(cx2(j))**2) + enddo + + spk0=0. + fac=(5e8/sq0)**2 + s2=fac*s2 + do j=1,215 + if(s2(j).gt.spk0) then + spk0=s2(j) + f=(j+ja-1)*df f0=0.5*(f-3000.0) phi0=0.5*atan2(aimag(cx2(j)),real(cx2(j))) endif enddo + spk0=0.5*db(spk0) - 7.0 kline=k/2048 ! write(14,3001) k/2048,spk0,f0,phi0 diff --git a/mainwindow.cpp b/mainwindow.cpp index d30482bb8..1ca820341 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -420,8 +420,22 @@ void MainWindow::dataSink(int k) float pxave=10.0*log10(sqave/2048.0) - 23.0; specjtms_(&k,&px,&pxsmo,&spk0,&f0); -// if(spk0 > 3.0) qDebug() << (k-2048.0)/48000.0 << spk0 << f0; QString t; + if(spk0 > 2.0) { + qint64 ms = QDateTime::currentMSecsSinceEpoch() % 86400000; + int isec=ms/1000; + int imin=ms/60000; + int ihr=imin/60; + imin=imin % 60; + isec=isec % 60; + if(isec<30) isec=0; + if(isec>30) isec=30; + int nutc=10000*ihr + 100*imin + isec; + t.sprintf("%6.6d %4.1f %4.1f %4d",nutc,(k-2048.0)/48000.0, + spk0,int(f0)); + ui->decodedTextBrowser->append(t); + } + t.sprintf(" Rx noise: %5.1f ",pxave); lab2->setText(t); ui->xThermo->setValue((double)px); //Update the Thermo diff --git a/mainwindow.ui b/mainwindow.ui index 575492715..99cf35459 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -53,7 +53,7 @@ - Freq DF Pol UTC DT dB KV DS TxPol + UTC T dB DF diff --git a/plotter.cpp b/plotter.cpp index 6ff50f95a..f42d5faf1 100644 --- a/plotter.cpp +++ b/plotter.cpp @@ -1,6 +1,7 @@ #include "plotter.h" #include #include +#include #define MAX_SCREENSIZE 2048 @@ -141,9 +142,9 @@ void CPlotter::draw(float green[], int ig) //draw() if(2*i < 215) { if(m_2Dspec) { y=10.0*log10(0.5*(mscom_.s2[2*i-1] + mscom_.s2[2*i])); - y1 = 5.0*gain*(y + 13 - m_plotZero); + y1 = 5.0*gain*(y + 20 - m_plotZero); } else { - y=10.0*log10(0.5*(mscom_.s1[2*i-1] + mscom_.s1[2*i])); + y=10.0*log10(std::max(mscom_.s1[2*i-1],mscom_.s1[2*i])); y1 = 5.0*gain*(y + 55 - m_plotZero); } } else {