Let Echo-mode "Measure" function use the computed fspread for DX grid.

This commit is contained in:
Joe Taylor 2022-06-22 14:34:50 -04:00
parent 345e539074
commit 0ef914fb5c
3 changed files with 15 additions and 9 deletions

View File

@ -11,7 +11,7 @@ subroutine astro0(nyear,month,nday,uth8,freq8,mygrid,hisgrid, &
real*8 uth8,techo8,freq8
real*8 xl,b
common/librcom/xl(2),b(2)
common/echocom2/echo_spread
common/echocom2/fspread_self,fspread_dx
data uth8z/0.d0/
save
@ -43,9 +43,11 @@ subroutine astro0(nyear,month,nday,uth8,freq8,mygrid,hisgrid, &
dbdt2=DEGS*(b2a-b2)
rate1=2.0*sqrt(dldt1**2 + dbdt1**2)
width1=0.5*6741*fghz*rate1
echo_spread=width1 !Save echo_spread for avecho()
rate2=sqrt((dldt1+dldt2)**2 + (dbdt1+dbdt2)**2)
width2=0.5*6741*fghz*rate2
if(hisgrid(1:4).eq.' ') width2=width1 !No hisgrid, use self width
fspread_self=width1 !Save for avecho()
fspread_dx=width2 !Save for avecho()
AzSun8=AzSun
ElSun8=ElSun

View File

@ -1,4 +1,5 @@
subroutine avecho(id2,ndop,nfrit,nqual,f1,xlevel,snrdb,db_err,dfreq,width)
subroutine avecho(id2,ndop,nfrit,nauto,nqual,f1,xlevel,snrdb,db_err, &
dfreq,width)
integer TXLENGTH
parameter (TXLENGTH=27648) !27*1024
@ -17,18 +18,19 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,xlevel,snrdb,db_err,dfreq,width)
complex c(0:NH)
equivalence (x,c),(ipk,ipkv)
common/echocom/nclearave,nsum,blue(NZ),red(NZ)
common/echocom2/echo_spread
common/echocom2/fspread_self,fspread_dx
save dop0,sa,sb
fspread=echo_spread !### Use the predicted Doppler spread ###
fspread=fspread_dx !### Use the predicted Doppler spread ###
if(nauto.eq.1) fspread=fspread_self
inquire(file='fspread.txt',exist=ex)
if(ex) then
open(39,file='fspread.txt',status='old')
read(39,*) fspread
close(39)
endif
fspread=min(max(0.1,fspread),700.0)
width=fspread
dop=ndop
sq=0.
do i=1,TXLENGTH

View File

@ -153,7 +153,7 @@ extern "C" {
int savec2_(char const * fname, int* TR_seconds, double* dial_freq, fortran_charlen_t);
void avecho_( short id2[], int* dop, int* nfrit, int* nqual, float* f1,
void avecho_( short id2[], int* dop, int* nfrit, int* nauto, int* nqual, float* f1,
float* level, float* sigdb, float* snr, float* dfreq,
float* width);
@ -1576,6 +1576,8 @@ void MainWindow::dataSink(qint64 frames)
if(m_mode=="Echo") {
float dBerr=0.0;
int nfrit=0;
int nauto=0;
if(m_auto) nauto=1;
int nqual=0;
float f1=1500.0;
float xlevel=0.0;
@ -1584,7 +1586,7 @@ void MainWindow::dataSink(qint64 frames)
float width=0.0;
echocom_.nclearave=m_nclearave;
int nDop=0;
avecho_(dec_data.d2,&nDop,&nfrit,&nqual,&f1,&xlevel,&sigdb,
avecho_(dec_data.d2,&nDop,&nfrit,&nauto,&nqual,&f1,&xlevel,&sigdb,
&dBerr,&dfreq,&width);
QString t;
t = t.asprintf("%3d %7.1f %7.1f %7.1f %7.1f %7.1f %3d",echocom_.nsum,xlevel,sigdb,
@ -7090,7 +7092,7 @@ void MainWindow::WSPR_config(bool b)
ui->rh_decodes_widget->setVisible(!b);
ui->controls_stack_widget->setCurrentIndex (b && m_mode != "Echo" ? 1 : 0);
ui->QSO_controls_widget->setVisible (!b);
ui->DX_controls_widget->setVisible (!b);
ui->DX_controls_widget->setVisible (true);
ui->WSPR_controls_widget->setVisible (b);
ui->lh_decodes_title_label->setVisible(!b and ui->cbMenus->isChecked());
ui->logQSOButton->setVisible(!b);