diff --git a/internal/recorder/demod.go b/internal/recorder/demod.go index 016a967..c3a53c8 100644 --- a/internal/recorder/demod.go +++ b/internal/recorder/demod.go @@ -32,7 +32,10 @@ func (m *Manager) demodAndWrite(dir string, ev detector.Event, iq []complex64, f } taps := dsp.LowpassFIR(cutoff, m.sampleRate, 101) filtered := dsp.ApplyFIR(shifted, taps) - decim := m.sampleRate / (d.OutputSampleRate() * 4) + decim := m.sampleRate / d.OutputSampleRate() + if decim < 1 { + decim = 1 + } if decim < 1 { decim = 1 } diff --git a/internal/recorder/demod_live.go b/internal/recorder/demod_live.go index 834bcfe..a3e8ad5 100644 --- a/internal/recorder/demod_live.go +++ b/internal/recorder/demod_live.go @@ -47,7 +47,7 @@ func (m *Manager) DemodLive(centerHz float64, bw float64, mode string, seconds i } taps := dsp.LowpassFIR(cutoff, m.sampleRate, 101) filtered := dsp.ApplyFIR(shifted, taps) - decim := m.sampleRate / (d.OutputSampleRate() * 4) + decim := m.sampleRate / d.OutputSampleRate() if decim < 1 { decim = 1 }