* Changed metric measurement to measurment only within
    the bounds of the Mark/Space frequencies.
pull/1/head
David Freese 2012-07-07 15:40:26 -05:00
rodzic 143cb1c0bc
commit b36a5e8ea7
2 zmienionych plików z 4 dodań i 8 usunięć

Wyświetl plik

@ -434,10 +434,8 @@ bool rtty::rx(bool bit)
char snrmsg[80];
void rtty::Metric()
{
double delta = rtty_baud/2.0;
double np =
wf->powerDensity(frequency - shift * 1.5, delta) +
wf->powerDensity(frequency + shift * 1.5, delta) + 1e-10;
double delta = rtty_baud/8.0;
double np = wf->powerDensity(frequency, delta);
double sp =
wf->powerDensity(frequency - shift/2, delta) +
wf->powerDensity(frequency + shift/2, delta) + 1e-10;
@ -445,7 +443,7 @@ void rtty::Metric()
sigpwr = decayavg( sigpwr, sp, sp - sigpwr > 0 ? 2 : 8);
noisepwr = decayavg( noisepwr, np, 32 );
snr = 10*log10(sigpwr / ( noisepwr * (1500 / delta))); // 3000 Hz noise bw
snr = 10*log10(sigpwr / noisepwr);//( noisepwr * (1500 / delta))); // 3000 Hz noise bw
snprintf(snrmsg, sizeof(snrmsg), "s/n %3.0f dB", snr);
put_Status2(snrmsg);

Wyświetl plik

@ -340,9 +340,7 @@ bool view_rtty::rx(int ch, bool bit)
void view_rtty::Metric(int ch)
{
double delta = rtty_baud/2.0;
double np =
wf->powerDensity(channel[ch].frequency - shift * 1.5, delta) +
wf->powerDensity(channel[ch].frequency + shift * 1.5, delta) + 1e-10;
double np = wf->powerDensity(channel[ch].frequency, delta);
double sp =
wf->powerDensity(channel[ch].frequency - shift/2, delta) +
wf->powerDensity(channel[ch].frequency + shift/2, delta) + 1e-10;