mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 21:58:38 -05:00
Echo spectrum appears OK; must test Doppler corrections in both modes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5559 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
f8e62046a3
commit
4b1c3c319f
@ -18,7 +18,6 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
|
|||||||
save dop0,sa,sb
|
save dop0,sa,sb
|
||||||
|
|
||||||
dop=ndop
|
dop=ndop
|
||||||
doppler=dop
|
|
||||||
sq=0.
|
sq=0.
|
||||||
do i=1,TXLENGTH
|
do i=1,TXLENGTH
|
||||||
x(i)=id2(i)
|
x(i)=id2(i)
|
||||||
@ -27,9 +26,8 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
|
|||||||
rms0=sqrt(sq/TXLENGTH)
|
rms0=sqrt(sq/TXLENGTH)
|
||||||
|
|
||||||
if(nclearave.ne.0) nsum=0
|
if(nclearave.ne.0) nsum=0
|
||||||
nclearave=0
|
|
||||||
if(nsum.eq.0) then
|
if(nsum.eq.0) then
|
||||||
dop0=doppler !Remember the initial Doppler
|
dop0=dop !Remember the initial Doppler
|
||||||
sa=0. !Clear the average arrays
|
sa=0. !Clear the average arrays
|
||||||
sb=0.
|
sb=0.
|
||||||
endif
|
endif
|
||||||
@ -44,7 +42,7 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
|
|||||||
|
|
||||||
fnominal=1500.0 !Nominal audio frequency w/o doppler or dither
|
fnominal=1500.0 !Nominal audio frequency w/o doppler or dither
|
||||||
ia=nint((fnominal+dop0-nfrit)/df)
|
ia=nint((fnominal+dop0-nfrit)/df)
|
||||||
ib=nint((f1+doppler-nfrit)/df)
|
ib=nint((f1+dop-nfrit)/df)
|
||||||
if(ia.lt.600 .or. ib.lt.600) go to 900
|
if(ia.lt.600 .or. ib.lt.600) go to 900
|
||||||
if(ia.gt.7590 .or. ib.gt.7590) go to 900
|
if(ia.gt.7590 .or. ib.gt.7590) go to 900
|
||||||
|
|
||||||
@ -112,8 +110,8 @@ subroutine avecho(id2,ndop,nfrit,nqual,f1,rms0,sigdb,snr,dfreq,width)
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
900 continue
|
900 continue
|
||||||
write(*,3001) ia,ib,nclearave,nsum,width,snr,nqual
|
write(*,3001) ia*df,ib*df,dop,r0,r1,nfrit,nclearave,nsum
|
||||||
3001 format('avecho:',4i6,2f7.1,i5)
|
3001 format(5f10.1,3i6)
|
||||||
|
|
||||||
return
|
return
|
||||||
end subroutine avecho
|
end subroutine avecho
|
||||||
|
@ -833,9 +833,10 @@ void MainWindow::dataSink(qint64 frames)
|
|||||||
float dfreq=0.0;
|
float dfreq=0.0;
|
||||||
float width=0.0;
|
float width=0.0;
|
||||||
echocom_.nclearave=m_nclearave;
|
echocom_.nclearave=m_nclearave;
|
||||||
avecho_(&jt9com_.d2[0],&m_nDop00,&nfrit,&nqual,&f1,&rms,&sigdb,
|
int nDop=0;
|
||||||
|
avecho_(&jt9com_.d2[0],&nDop,&nfrit,&nqual,&f1,&rms,&sigdb,
|
||||||
&snr,&dfreq,&width);
|
&snr,&dfreq,&width);
|
||||||
qDebug() << "A" << echocom_.nclearave << echocom_.nsum << rms << sigdb;
|
qDebug() << "A" << m_nDopr << nDop;
|
||||||
if(m_echoGraph->isVisible()) m_echoGraph->plotSpec();
|
if(m_echoGraph->isVisible()) m_echoGraph->plotSpec();
|
||||||
m_nclearave=0;
|
m_nclearave=0;
|
||||||
return;
|
return;
|
||||||
@ -2142,6 +2143,8 @@ void MainWindow::guiUpdate()
|
|||||||
Q_EMIT m_config.transceiver_tx_frequency (m_dialFreqTx);
|
Q_EMIT m_config.transceiver_tx_frequency (m_dialFreqTx);
|
||||||
} else {
|
} else {
|
||||||
f=m_freqNominal + 1000*m_astroWidget->m_kHz + m_astroWidget->m_Hz;
|
f=m_freqNominal + 1000*m_astroWidget->m_kHz + m_astroWidget->m_Hz;
|
||||||
|
// m_dialFreq=f;
|
||||||
|
// ui->labDialFreq->setText (Radio::pretty_frequency_MHz_string (m_dialFreq));
|
||||||
Q_EMIT m_config.transceiver_frequency(f);
|
Q_EMIT m_config.transceiver_frequency(f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2170,10 +2173,16 @@ void MainWindow::guiUpdate()
|
|||||||
|
|
||||||
if(m_astroWidget->m_bDopplerTracking) {
|
if(m_astroWidget->m_bDopplerTracking) {
|
||||||
|
|
||||||
|
m_nDopr=0;
|
||||||
if(m_DopplerMethod==1) {
|
if(m_DopplerMethod==1) {
|
||||||
// All Doppler correction done here; DX station stays at nominal dial frequency.
|
// All Doppler correction done here; DX station stays at nominal dial frequency.
|
||||||
m_nDopr=m_astroWidget->m_stepHz*qRound(double(m_nDop)/double(
|
if(m_mode=="Echo") {
|
||||||
|
m_nDopr=m_astroWidget->m_stepHz*qRound(double(m_nDop00)/double(
|
||||||
m_astroWidget->m_stepHz));
|
m_astroWidget->m_stepHz));
|
||||||
|
} else {
|
||||||
|
m_nDopr=m_astroWidget->m_stepHz*qRound(double(m_nDop)/double(
|
||||||
|
m_astroWidget->m_stepHz));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(m_DopplerMethod==2) {
|
if(m_DopplerMethod==2) {
|
||||||
// Doppler correction to constant frequency on Moon
|
// Doppler correction to constant frequency on Moon
|
||||||
@ -2188,9 +2197,14 @@ void MainWindow::guiUpdate()
|
|||||||
m_dialFreqTx));
|
m_dialFreqTx));
|
||||||
Q_EMIT m_config.transceiver_tx_frequency (m_dialFreqTx);
|
Q_EMIT m_config.transceiver_tx_frequency (m_dialFreqTx);
|
||||||
} else {
|
} else {
|
||||||
m_dialFreq=m_freqNominal + 1000*m_astroWidget->m_kHz +
|
if(m_mode=="Echo" and m_DopplerMethod==1) {
|
||||||
m_astroWidget->m_Hz + m_nDopr;
|
m_dialFreq=m_freqNominal + 1000*m_astroWidget->m_kHz +
|
||||||
ui->labDialFreq->setText (Radio::pretty_frequency_MHz_string (
|
m_astroWidget->m_Hz;
|
||||||
|
} else {
|
||||||
|
m_dialFreq=m_freqNominal + 1000*m_astroWidget->m_kHz +
|
||||||
|
m_astroWidget->m_Hz + m_nDopr;
|
||||||
|
}
|
||||||
|
ui->labDialFreq->setText (Radio::pretty_frequency_MHz_string (
|
||||||
m_dialFreq));
|
m_dialFreq));
|
||||||
Q_EMIT m_config.transceiver_frequency(m_dialFreq);
|
Q_EMIT m_config.transceiver_frequency(m_dialFreq);
|
||||||
}
|
}
|
||||||
|
@ -335,7 +335,7 @@ private:
|
|||||||
qint32 m_nseq;
|
qint32 m_nseq;
|
||||||
qint32 m_nDop; //Doppler shift of EME DX station
|
qint32 m_nDop; //Doppler shift of EME DX station
|
||||||
qint32 m_nDop00; //EME self-Doppler
|
qint32 m_nDop00; //EME self-Doppler
|
||||||
qint32 m_nDopr; //Applied Doppler, rounded to nearest 1, 10 or 100 Hz
|
qint32 m_nDopr; //Applied Doppler (rounded to nearest 1, 10 or 100 Hz)
|
||||||
|
|
||||||
bool m_btxok; //True if OK to transmit
|
bool m_btxok; //True if OK to transmit
|
||||||
bool m_diskData;
|
bool m_diskData;
|
||||||
|
Loading…
Reference in New Issue
Block a user