github Stuey3D/VibeSDR vibeserver-mac-v4.1.1
VibeServer 4.1.1 — IMS is multipath, AUTO BW owns the bandwidth

7 hours ago

Automatic demodulator bandwidth, the TEF6686's trick — and it no longer costs anything to use.

AUTO BW narrows a weak FM station toward its own occupied width and gives a strong one everything it was transmitted with, steered by MPX signal-to-noise. It is on by default. Measured against a real TEF6686: 20.8 dB → 184 kHz, 5.4 dB → 134 kHz — the same numbers the radio itself picks. On a hard weak station it turned a hiss into something listenable in stereo.

The first version tore the audio and the RDS down on every change, because changing the demodulator's bandwidth rebuilds the whole chain. It now drives the adaptive IF filter instead, which changes its corner without clearing a single buffer.

IMS is multipath suppression now — what iMS means on a TEF.

Ours had been narrowing the IF, which is what AUTO BW does, so the two fought over one filter and whichever ran last won. IMS now treats a REFLECTION that CEQ cannot correct: below 18 dB MPX S/N a channel equaliser would contort itself around noise and correctly declines, and until now nothing treated multipath as multipath in that range. It blends L−R in proportion to measured depth and stands down while CEQ has the job. The Advanced RDS panel's MULTIPATH row says what it is doing, or why it is not.

The IF filter can follow the zoom, and now stays set.

Zooming into a station narrows the tuner's IF filter — the only selectivity ahead of the mixer — and keeps strong neighbours out of the front end, where cross-modulation is made. Set it once under IF filter follows the zoom in the setup page. Zooming back out now puts the gain back where it held at full span, instead of leaving the front end overdriven behind a filter that has gone.

Overload protection is gone. It is the AGC or nothing: it had been a no-op in the DSP for a while and only survived as a setting that looked real and could not do anything.

Fixes

  • Settings that would not stick: the AGC only worked when locked, and the IF filter setting was saved correctly but never reached the radio — a per-radio value that was not carried into the config the worker reads.
  • AUTO BW's button could not be switched on, and the IMS readout stayed blank, because two client payloads did not copy the fields they declared.
  • A control the server owns no longer takes its state from browser storage, nor commands the radio from it.

apt carries 4.1.1-1 for arm64 and amd64.

Don't miss a new VibeSDR release

NewReleases is sending notifications on new releases.