Results of Echo mode to text window. (Not yet calibrated!)

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5567 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2015-06-09 19:04:21 +00:00
parent d69d3b4ca0
commit 7137098869
6 changed files with 36 additions and 10 deletions

View File

@ -44,7 +44,7 @@
<string>Select tab to change configuration parameters.</string> <string>Select tab to change configuration parameters.</string>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="general_tab"> <widget class="QWidget" name="general_tab">
<attribute name="title"> <attribute name="title">

View File

@ -36,6 +36,8 @@ EchoGraph::EchoGraph(QSettings * settings, QWidget *parent) :
ui->echoPlot->m_blue=m_settings->value("BlueCurve",false).toBool(); ui->echoPlot->m_blue=m_settings->value("BlueCurve",false).toBool();
ui->cbBlue->setChecked(ui->echoPlot->m_blue); ui->cbBlue->setChecked(ui->echoPlot->m_blue);
m_settings->endGroup(); m_settings->endGroup();
ui->cbBlue->setVisible(false); //Not using "blue" (for now, at least)
} }
EchoGraph::~EchoGraph() EchoGraph::~EchoGraph()
@ -66,6 +68,7 @@ void EchoGraph::saveSettings()
void EchoGraph::plotSpec() void EchoGraph::plotSpec()
{ {
ui->echoPlot->draw(); ui->echoPlot->draw();
ui->nsum_label->setText("N: " + QString::number(echocom_.nsum));
} }
void EchoGraph::on_smoothSpinBox_valueChanged(int n) void EchoGraph::on_smoothSpinBox_valueChanged(int n)

View File

@ -212,6 +212,22 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QLabel" name="nsum_label">
<property name="minimumSize">
<size>
<width>30</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>N: 0</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="cbBlue"> <widget class="QCheckBox" name="cbBlue">
<property name="text"> <property name="text">

View File

@ -1,4 +1,4 @@
subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width) subroutine avecho(id2,ndop,nfrit,nqual,f1,xlevel,sigdb,snr,dfreq,width)
integer TXLENGTH integer TXLENGTH
parameter (TXLENGTH=27648) !27*1024 parameter (TXLENGTH=27648) !27*1024
@ -8,7 +8,7 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
real sb(4096) !Avg spectrum with Dither and changing Doppler removed real sb(4096) !Avg spectrum with Dither and changing Doppler removed
integer nsum !Number of integrations integer nsum !Number of integrations
real dop0 !Doppler shift for initial integration (Hz) real dop0 !Doppler shift for initial integration (Hz)
real doppler !Doppler shift for current integration (Hz) real dop !Doppler shift for current integration (Hz)
real s(8192) real s(8192)
real x(NFFT) real x(NFFT)
integer ipkv(1) integer ipkv(1)
@ -23,7 +23,7 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
x(i)=id2(i) x(i)=id2(i)
sq=sq + x(i)*x(i) sq=sq + x(i)*x(i)
enddo enddo
rms0=sqrt(sq/TXLENGTH) xlevel=10.0*log10(sq/TXLENGTH)
if(nclearave.ne.0) nsum=0 if(nclearave.ne.0) nsum=0
if(nsum.eq.0) then if(nsum.eq.0) then
@ -62,7 +62,7 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
y=r0 + (r1-r0)*(i-100.0)/1800.0 y=r0 + (r1-r0)*(i-100.0)/1800.0
blue(i)=sa(i)/y blue(i)=sa(i)/y
red(i)=sb(i)/y red(i)=sb(i)/y
if(i.le.500 .or. i.ge.1501) then if(i.le.500 .or. i.ge.3597) then
sum=sum+red(i) sum=sum+red(i)
sq=sq + (red(i)-1.0)**2 sq=sq + (red(i)-1.0)**2
endif endif
@ -73,7 +73,7 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
redmax=maxval(red) redmax=maxval(red)
ipkv=maxloc(red) ipkv=maxloc(red)
fac=10.0/max(redmax,10.0) fac=10.0/max(redmax,10.0)
dfreq=(ipk-1000)*df dfreq=(ipk-2048)*df
snr=(redmax-ave)/rms snr=(redmax-ave)/rms
sigdb=-99.0 sigdb=-99.0

View File

@ -829,15 +829,19 @@ void MainWindow::dataSink(qint64 frames)
int nfrit=0; int nfrit=0;
int nqual=0; int nqual=0;
float f1=1500.0; float f1=1500.0;
float rms=0.0; float xlevel=0.0;
float sigdb=0.0; float sigdb=0.0;
float dfreq=0.0; float dfreq=0.0;
float width=0.0; float width=0.0;
echocom_.nclearave=m_nclearave; echocom_.nclearave=m_nclearave;
int nDop=0; int nDop=0;
avecho_(&jt9com_.d2[0],&nDop,&nfrit,&nqual,&f1,&rms,&sigdb, avecho_(&jt9com_.d2[0],&nDop,&nfrit,&nqual,&f1,&xlevel,&sigdb,
&snr,&dfreq,&width); &snr,&dfreq,&width);
qDebug() << "A" << m_nDopr << nDop; QString t;
t.sprintf("%3d %7.1f %7.1f %7.1f %7.1f %3d",echocom_.nsum,xlevel,sigdb,
dfreq,width,nqual);
t=QDateTime::currentDateTimeUtc().toString("hh:mm:ss ") + t;
ui->decodedTextBrowser->appendText(t);
if(m_echoGraph->isVisible()) m_echoGraph->plotSpec(); if(m_echoGraph->isVisible()) m_echoGraph->plotSpec();
m_nclearave=0; m_nclearave=0;
return; return;
@ -3243,6 +3247,9 @@ void MainWindow::on_actionEcho_triggered()
mode_label->setText(m_mode); mode_label->setText(m_mode);
VHF_controls_visible(false); VHF_controls_visible(false);
WSPR_config(true); WSPR_config(true);
ui->decodedTextLabel->setText(" UTC N Level Sig DF Width Q");
auto_tx_label->setText("");
ui->tabWidget->setCurrentIndex(0);
} }
void MainWindow::switch_mode (Mode mode) void MainWindow::switch_mode (Mode mode)

View File

@ -560,7 +560,7 @@ extern "C" {
void savec2_(char* fname, int* m_TRseconds, double* m_dialFreq, int len1); void savec2_(char* fname, int* m_TRseconds, double* m_dialFreq, int len1);
void avecho_( short id2[], int* dop, int* nfrit, int* nqual, float* f1, void avecho_( short id2[], int* dop, int* nfrit, int* nqual, float* f1,
float* rms, float* sigdb, float* snr, float* dfreq, float* level, float* sigdb, float* snr, float* dfreq,
float* width); float* width);
} }