Mod - RSID propability of detection improvements

* increased time between RSID tones and start of normal modem signal
    * corrected errors in decoder implementation
pull/2/head
David Freese 2009-03-21 14:37:07 -05:00
rodzic 6c0d3777b0
commit 4dfb2c596c
3 zmienionych plików z 18 dodań i 14 usunięć

Wyświetl plik

@ -120,11 +120,8 @@ public:
~cRsId();
void reset();
void search( const double *pSamples, int nSamples );
// , bool bReverse,
// int *pSymbolOut, int *pBinOut, int *pDistanceOut,
// int *pMetricsOut);
void apply (int iSymbol, int iBin);
void send();
void send(bool postidle);
int samplerate() { return _samplerate;}

Wyświetl plik

@ -495,10 +495,11 @@ void cRsId::apply(int iSymbol, int iBin)
break;
}
REQ(&configuration::loadDefaults, &progdefaults);
// REQ(&configuration::loadDefaults, &progdefaults);
active_modem->set_freq(freq);
// active_modem->set_freq(freq);
REQ(init_modem, mbin);
active_modem->set_freq(freq);
}
@ -601,7 +602,7 @@ bool cRsId::search_amp( int &SymbolOut, int &BinOut)
// transmit rsid code for current mode
//=============================================================================
void cRsId::send()
void cRsId::send(bool postidle)
{
int iTone;
uchar rsid[RSID_NSYMBOLS];
@ -707,6 +708,12 @@ void cRsId::send()
outbuf = new double[symlen];
// transmit 6 symbol periods of silence
if (!postidle) {
for (int j = 0; j < symlen; j++) outbuf[j] = 0.0;
for (int i = 0; i < 6; i++) active_modem->ModulateXmtr(outbuf, symlen);
}
// transmit sequence of 15 symbols (tones)
phase = 0.0;
for (int i = 0; i < 15; i++) {
@ -724,11 +731,11 @@ void cRsId::send()
active_modem->ModulateXmtr(outbuf, symlen);
}
// transmit 3 symbol periods of silence
for (int j = 0; j < symlen; j++) outbuf[j] = 0.0;
active_modem->ModulateXmtr(outbuf, symlen);
active_modem->ModulateXmtr(outbuf, symlen);
active_modem->ModulateXmtr(outbuf, symlen);
// transmit 6 symbol periods of silence
if (postidle) {
for (int j = 0; j < symlen; j++) outbuf[j] = 0.0;
for (int i = 0; i < 6; i++) active_modem->ModulateXmtr(outbuf, symlen);
}
// clean up
delete [] outbuf;

Wyświetl plik

@ -249,7 +249,7 @@ void trx_trx_transmit_loop()
active_modem->tx_init(scard);
if (progdefaults.TransmitRSid == true)
ReedSolomon->send();
ReedSolomon->send(true);
while (trx_state == STATE_TX) {
try {
@ -266,7 +266,7 @@ void trx_trx_transmit_loop()
}
if (progdefaults.TransmitRSid == true)
ReedSolomon->send();
ReedSolomon->send(false);
scard->flush();
if (scard->must_close())