From 1b36baad88b34a394727c7b98c94c20c8d017683 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Thu, 14 Jan 2021 23:47:12 +0100 Subject: [PATCH] extend default WFM bandwidth to 150kHz, allowing up to 200kHz --- csdr/csdr.py | 6 +++--- htdocs/lib/Demodulator.js | 2 +- owrx/modes.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/csdr/csdr.py b/csdr/csdr.py index 95d3ca7..4deaac6 100644 --- a/csdr/csdr.py +++ b/csdr/csdr.py @@ -536,12 +536,12 @@ class dsp(object): # wideband fm has a much higher frequency deviation (75kHz). # we cannot cover this if we immediately decimate to the sample rate the audio will have later on, so we need # to compensate here. - # the factor of 5 is by experimentation only, with a minimum audio rate of 36kHz (enforced by the client) - # this allows us to cover at least +/- 80kHz of frequency spectrum (may be higher, but that's the worst case). + # the factor of 6 is by experimentation only, with a minimum audio rate of 36kHz (enforced by the client) + # this allows us to cover at least +/- 108kHz of frequency spectrum (may be higher, but that's the worst case). # the correction factor is automatically compensated for by the secondary decimation stage, which comes # after the demodulator. if self.get_demodulator() == "wfm": - correction = 5 + correction = 6 while input_rate / (decimation + 1) >= output_rate * correction: decimation += 1 fraction = float(input_rate / decimation) / output_rate diff --git a/htdocs/lib/Demodulator.js b/htdocs/lib/Demodulator.js index 8192a04..bd0e579 100644 --- a/htdocs/lib/Demodulator.js +++ b/htdocs/lib/Demodulator.js @@ -8,7 +8,7 @@ Filter.prototype.getLimits = function() { if (this.demodulator.get_secondary_demod() === 'pocsag') { max_bw = 12500; } else if (this.demodulator.get_modulation() === 'wfm') { - max_bw = 80000; + max_bw = 100000; } else if (this.demodulator.get_modulation() === 'drm') { max_bw = 100000; } else if (this.demodulator.get_secondary_demod() === 'packet') { diff --git a/owrx/modes.py b/owrx/modes.py index a9ce30f..0fcf366 100644 --- a/owrx/modes.py +++ b/owrx/modes.py @@ -54,7 +54,7 @@ class DigitalMode(Mode): class Modes(object): mappings = [ AnalogMode("nfm", "FM", bandpass=Bandpass(-4000, 4000)), - AnalogMode("wfm", "WFM", bandpass=Bandpass(-50000, 50000)), + AnalogMode("wfm", "WFM", bandpass=Bandpass(-75000, 75000)), AnalogMode("am", "AM", bandpass=Bandpass(-4000, 4000)), AnalogMode("lsb", "LSB", bandpass=Bandpass(-3000, -300)), AnalogMode("usb", "USB", bandpass=Bandpass(300, 3000)),