Save and restore total Doppler in Echo-mode .wav files, and display that as Doppler.

This commit is contained in:
Joe Taylor 2022-08-17 09:42:33 -04:00
parent 92df1fbd0c
commit bfb5665c36
2 changed files with 17 additions and 14 deletions

View File

@ -1,15 +1,17 @@
subroutine save_echo_params(nDop,nfrit,f1,fspread,id2,idir) subroutine save_echo_params(nDopTotal,nDopAudio,nfrit,f1,fspread,id2,idir)
integer*2 id2(10) integer*2 id2(12)
integer*2 id2a(10) integer*2 id2a(12)
real*8 fspread,fspread0 real*8 fspread,fspread0
equivalence (nDop0,id2a(1)) equivalence (nDopTotal0,id2a(1))
equivalence (nfrit0,id2a(3)) equivalence (nDopAudio0,id2a(3))
equivalence (f10,id2a(5)) equivalence (nfrit0,id2a(5))
equivalence (fspread0,id2a(7)) equivalence (f10,id2a(7))
equivalence (fspread0,id2a(9))
if(idir.gt.0) then if(idir.gt.0) then
nDop0=nDop nDopTotal0=nDopTotal
nDopAudio0=nDopAudio
nfrit0=nfrit nfrit0=nfrit
f10=f1 f10=f1
fspread0=fspread fspread0=fspread
@ -17,7 +19,8 @@ subroutine save_echo_params(nDop,nfrit,f1,fspread,id2,idir)
else else
id2a=id2 id2a=id2
id2(1:10)=0 id2(1:10)=0
nDop=nDop0 nDopTotal=nDopTotal0
nDopAudio=nDopAudio0
nfrit=nfrit0 nfrit=nfrit0
f1=f10 f1=f10
fspread=fspread0 fspread=fspread0

View File

@ -153,7 +153,7 @@ extern "C" {
int savec2_(char const * fname, int* TR_seconds, double* dial_freq, fortran_charlen_t); int savec2_(char const * fname, int* TR_seconds, double* dial_freq, fortran_charlen_t);
void save_echo_params_(int* ndop, int* nfrit, float* f1, double* fspread, short id2[], int* idir); void save_echo_params_(int* ndoptotal, int* ndop, int* nfrit, float* f1, double* fspread, short id2[], int* idir);
void avecho_( short id2[], int* dop, int* nfrit, int* nauto, 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* level, float* sigdb, float* snr, float* dfreq,
@ -1603,16 +1603,17 @@ void MainWindow::dataSink(qint64 frames)
float width=0.0; float width=0.0;
echocom_.nclearave=m_nclearave; echocom_.nclearave=m_nclearave;
int nDop=m_fAudioShift; int nDop=m_fAudioShift;
int nDopTotal=m_fDop;
if(m_diskData) { if(m_diskData) {
int idir=-1; int idir=-1;
save_echo_params_(&nDop,&nfrit,&f1,&m_fSpread,dec_data.d2,&idir); save_echo_params_(&nDopTotal,&nDop,&nfrit,&f1,&m_fSpread,dec_data.d2,&idir);
width=m_fSpread; width=m_fSpread;
} }
avecho_(dec_data.d2,&nDop,&nfrit,&nauto,&nqual,&f1,&xlevel,&sigdb, avecho_(dec_data.d2,&nDop,&nfrit,&nauto,&nqual,&f1,&xlevel,&sigdb,
&dBerr,&dfreq,&width,&m_diskData); &dBerr,&dfreq,&width,&m_diskData);
QString t; QString t;
t = t.asprintf("%3d %7.1f %7.1f %7.1f %7.1f %7d %7.1f %3d",echocom_.nsum,xlevel,sigdb, t = t.asprintf("%3d %7.1f %7.1f %7.1f %7.1f %7d %7.1f %3d",echocom_.nsum,xlevel,sigdb,
dBerr,dfreq,nDop,width,nqual); dBerr,dfreq,nDopTotal,width,nqual);
QString t0; QString t0;
if(m_diskData) { if(m_diskData) {
t0=t0.asprintf("%06d ",m_UTCdisk); t0=t0.asprintf("%06d ",m_UTCdisk);
@ -1624,7 +1625,7 @@ void MainWindow::dataSink(qint64 frames)
if(m_echoGraph->isVisible()) m_echoGraph->plotSpec(); if(m_echoGraph->isVisible()) m_echoGraph->plotSpec();
if(m_saveAll) { if(m_saveAll) {
int idir=1; int idir=1;
save_echo_params_(&nDop,&nfrit,&f1,&m_fSpread,dec_data.d2,&idir); save_echo_params_(&m_fDop,&nDop,&nfrit,&f1,&m_fSpread,dec_data.d2,&idir);
} }
m_nclearave=0; m_nclearave=0;
//Don't restart Monitor after an Echo transmission //Don't restart Monitor after an Echo transmission
@ -1632,7 +1633,6 @@ void MainWindow::dataSink(qint64 frames)
monitor(false); monitor(false);
m_bEchoTxed=false; m_bEchoTxed=false;
} }
// return;
} }
if(m_mode=="FreqCal") { if(m_mode=="FreqCal") {
return; return;