Skip to content

Section 2 7 receiver controls

madmedicnl edited this page Sep 30, 2026 · 3 revisions

2.7 Receiver controls

The receiver and its filter/noise controls share one box of two rows. Which row a button lands on is not fixed: the top row carries the level controls the radio offers — the volume, a front-end gain rail where there is a gain to set, decimation where there is a span to throw away, the AGC where the mode has one — and on a rig with few of those, the buttons from the row below move up to fill it rather than leave half the box empty and the box itself twice as wide as the strip can afford. So the same button can sit on the top row on a CAT rig and on the bottom row on an SDR with a gain slider, and it moves when you change mode. What is in the box never changes; only where the two rows are cut does.

  • AGC — a drop-down: Off, Slow, Med, Fast. Not shown in NFM, WFM or DRM, where there is no AGC at all: an FM detector's output level is set by the transmitter's deviation, not by signal strength, and a DRM decoder hands you the audio at the level the broadcaster mixed it to, so in both there is nothing to level and an AGC would only pump on the noise between overs.

    It is a listening control and nothing else. The decoders are fed from a tap taken ahead of it, on a level that takes seconds to move and so cannot change inside a transmission — which is what a modem needs and what an AGC, attacking in two milliseconds, is the opposite of. So whatever you set here, FT8 sees the same signal.

  • Man — the fixed audio gain the receiver runs on while the AGC is Off, shown only then. Unlevelled audio is whatever the band delivered, and a weak SSB signal can sit tens of dB below anything the volume control can reach, so "AGC off" means this gain rather than no gain at all. Switching the AGC off seeds it from the level the AGC was holding at that moment, so nothing jumps; from there it is yours to set, and it stays put however the signal moves.

  • Vol — audio volume.

  • DEC — front-end decimation: keep the middle 1/N of the span the radio streams and throw the rest away, before any of it reaches the receiver. Click to cycle off / 2 / 4 / 8 …; the button reads what is running (DEC /8), and hovering it tells you the span you are left with.

    It shows on any radio that delivers IQ and has bandwidth to spare, and applies to all of them equally — a dongle at 2.4 Msps, a HackRF at 2 Msps, an RSP, a Pluto. A radio already streaming a narrow span (an HPSDR at 48 kHz, say) offers no button, because there would be nothing left to decimate to. The floor is 48 kHz: that is one receiver channel, and below it the waterfall stops being a band display.

    What you gain:

    • Resolution, everywhere at once. The same FFT spread over an eighth of the bandwidth is eight times finer, across the whole span rather than only the part you have zoomed into. (Zooming gets its own resolution without this — see the FFT control in §2.8 — so this is no longer the only way to a detailed picture, but it is still the way to a detailed picture of everything you can see.)
    • A quieter noise floor. Every halving throws away half the noise power with half the bandwidth: 3 dB per step, 9 dB at /8. The signal you are listening to is unchanged, so this is real processing gain, and weak signals stand further out of the grass.
    • CPU. Everything downstream — the FFT, both receivers' downconverters, the skimmers, the IQ a TCI client is being fed — runs at the reduced rate. On a small machine this is the difference between a 2.4 Msps dongle being comfortable and not.

    What you give up is the band either side of the kept span. The dial still tunes anywhere: as you tune past the edge the radio simply moves its LO and the narrower window follows you. Nothing is reconfigured in the hardware — the radio keeps streaming exactly as it was — so the setting takes effect on the next block of samples, with no gap in the audio and no risk of a device refusing it. The sub receiver still has to live inside the span, so if it was parked outside the new one it is moved back in.

  • BW — the receive filter as a number. The chip reads the passband width the receiver is running (BW 2.7k, BW 500), and clicking it opens the width, the two edges and the mode's standard filters as fields you can type into. The panadapter's grips are the quick way to place a passband by eye against what is on the band; this is where an exact figure — 2200, 2700, 3000 — is entered, which a drag can only creep up on (issue #371). See 2.7 for what the numbers mean in each mode. In WFM it sets the channel filter in front of the FM detector — narrow it to keep a strong station 100 kHz away out of a weak one, at the cost of stereo and RDS first and audio distortion after; it will not go below 20 kHz (issue #414).

  • MUTE — mute the receiver (keyboard shortcut M).

  • REC — record what you hear and what you send, or the raw spectrum to an MP3 file, and choose whether it is written in two channels or one. See 2.21.

  • SQL — squelch; below the open threshold it reads off.

    On a radio that hands sdroxide audio it has already squelched — a CAT rig on a sound card, an Icom sending AF over the network — this rail sets the radio's own squelch over the control link instead, and reads as a percentage of the radio's scale (open at the bottom). That is the gate the audio actually passes through: a threshold applied on this side could only close further on what the radio already let by, and could never open up a weak station the radio had muted. The level is read from the rig when the control link opens, so the rail starts where you left the knob rather than imposing a remembered figure on it, and a keyboard or MIDI binding on the squelch action follows the same rail. Every other front end — anything sending sdroxide I/Q — keeps the dBFS threshold, which is the honest one there: the whole passband arrives and sdroxide does the gating.

    The dBFS rail runs from fully open up to full scale, and hovering it says what the passband is reading now so you can put the threshold between the noise and the signal instead of hunting for it. That number is not the S‑meter's: the meter has the front end's gain taken out and your calibration offset put in, and on a rig that reports its own meter it is the rig's reading rather than a measurement made here. It matters most on a stream that arrives with the radio's AGC already in it — an Icom's 12 kHz IF over the network is a levelled IF, so its noise sits far higher on this scale than an SDR's raw baseband, above where the rail used to stop, and the gate would not close at any setting you could ask for (issue #394).

  • NB — impulse noise blanker on the raw signal (keyboard shortcut N).

  • ANC — automatic notch: an adaptive filter that cancels constant tone elements — heterodynes, carriers, and tuner-uppers — while leaving voice and noise. Toggle it on when a steady whistle is spoiling a voice signal. (Like NR, it affects only what you hear, not the digital decoders; leave it off for CW and data modes, whose signals are tones.) It is not offered in AM, SAM, WFM or DRM: on broadcast audio the sustained notes of the programme are exactly what it cancels, so it took the station away with the whistle (issue #434).

  • NR — noise reduction on the audio, with five selectable engines. The button always reads just NR and lights when noise reduction is in circuit — that is all it tells you, and it never changes width under the buttons beside it. Click it for a picker with an Engine row and a Strength row, which is where you both read back what is running and change it, so any setting is two clicks away; hovering the button names it too. A keyboard or MIDI binding cycles the strength within whichever engine is selected — Off → Low → Med → High → Off — and never changes the engine underneath you.

    • RNN — a neural RNNoise denoiser. Trained on speech, it recognises the voice and mutes everything else, so it clears non-stationary junk that spectral NR can't — babble, wind, keyboard/shack noise, fluttering hiss — with little of the underwater warble. Cheap, and the safe default. The three strengths are a wet/dry depth: High is the full effect, Low a lighter touch.
    • DFNR — DeepFilterNet3, the strongest of the five. It adds a learned complex filter over the low bins on top of a band gain, so it recovers speech the others have already given up on. It also costs the most CPU by a wide margin, and the model is loaded the first time you select it — expect a short break in the audio at that moment. The strengths are the most attenuation it may apply: 6, 12 and 24 dB.
    • SPEC — a Rust port of libspecbleach's adaptive denoiser. Spectral, but with a psychoacoustic model deciding where suppression would be audible, and a whitened noise floor: rather than carving the residue into birdies it flattens what is left into even hiss. Good on steady static where the neural engines sound processed.
    • NR2 — a Rust port of WDSP's NR2 (emnr.c), the noise reduction behind the NR2 button in PowerSDR and Thetis, and the one a great many operators already have an ear for. Ephraim-Malah suppression driven by a minimum-statistics noise estimate, with WDSP's artefact filter smoothing the mask across frequency so hard settings do not ring into birdies. It runs at WDSP's own settings; the three strengths are a layer on top, telling the gain rule there is progressively more noise than there is and limiting how far any one bin may be pulled down. Roughly 11, 17 and 23 dB off a broadband noise floor. It uses a longer analysis window than the others, so it adds a little more delay — about 32 ms at 48 kHz.
    • NR — the built-in spectral noise reduction, whose engine button keeps the bare name the button has always worn: it suppresses the stationary noise floor while letting the changing, speech-like parts through. Fast and predictable on steady static and hiss.

    All five make voice quieter to listen to and easier to copy with less fatigue. Higher strengths remove more noise but can add faint artefacts on weak signals, so pick the lowest that cleans the audio; on a noisy voice signal, start with DFNR Med, and drop to RNN Med if the machine is struggling. (NR affects only what you hear; the FT8/FT4/FT2/PSK/RTTY decoders still receive the untouched signal, and a steady unmodulated carrier — a heterodyne — is treated as noise and suppressed. Any NR engine also forces WFM to mono — see ST below.)

  • BIN (CW and SSB) — binaural audio: the receive passband spread across the two ears, so that a signal's pitch becomes a direction. Whatever sits at the middle of the filter is in the middle of your head, anything above it moves to the right, anything below it to the left, and tuning a station floats it across from one ear to the other. Wear headphones: most of the effect is the difference in arrival time between your two ears, which a pair of speakers largely throws away.

    In CW that separates a pile-up into several places you can attend to one at a time, instead of one crowded note. In SSB a voice fills the passband rather than sitting at a point in it, so stations do not separate that way — but the noise still spreads across the image while the station stays in the middle of it, which makes a long listen on a noisy band less tiring. The cost is that the voice itself is spread out, low notes towards one ear and sibilance towards the other; try it on a long session and see whether you like it.

    The image follows the filter, not the mode, so narrowing the passband spreads the same left-to-right image across less of the band — and the same note lands in a different ear in CW and in SSB, because the middle of a 500 Hz CW filter and the middle of a 2.7 kHz voice filter are not the same frequency. Nothing downstream can tell it is on: the decoders read the audio before this stage, recordings are written from the same tap, and a remote client is sent the mono downmix, which binaural leaves untouched.

    The button greys out while the sub receiver is running, which claims the right ear for a second receiver — an explicit second signal outranks an effect on the first.

  • ST (WFM only) — broadcast stereo. It lights when the station's 19 kHz stereo pilot is locked, and needs nothing from you: mono and stereo stations are handled automatically, at the same volume, so there is no jump when one hands over to the other. Click it to force mono.

    On a weak station sdroxide blends back toward mono by itself. That is not a compromise — the difference channel is recovered from a 38 kHz subcarrier, high on FM's noise slope, so it carries roughly 20 dB more hiss than the mono sum. Clean mono beats noisy stereo, and the blend is gradual enough that you will not hear it switch. Forcing mono is still worth doing on a marginal signal you want to listen to for a long time.

  • RDS (WFM only) — the data the station carries beside its audio: what it is called, what it is playing, and what else it wants you to know. The button lights when data is actually arriving, so it answers "does this transmitter carry RDS?" without your opening anything. Click it for the window.

    The station name appears in about a second, the radio text in a few more, and the rest as it comes. Decoding runs the whole time you are on WFM, whether or not the window is open, so it is already filled in when you do open it.

    What the window shows:

    • The name — the eight characters the station calls itself. Some broadcasters abuse this field by scrolling a message through it a word at a time; sdroxide only shows a name it has seen twice running, which stops a fragment of somebody's advertisement being displayed as the station's name, but on those stations the name will still change as you watch. That is the station doing it, not the receiver.
    • Identity — the programme identification code, a number that is the station's real name as far as the standard is concerned. In North America it spells out the call letters, and those are shown beside it.
    • Programme — one of 32 categories. Which 32 depends on the standard: the same five bits mean Education in Europe and Rock in the United States. See the selector below.
    • Radio text — 64 characters the station can put anything in, and usually the artist and title. Where the station tags them properly (RadioText+), they are lifted out and shown on their own line under the name.
    • Traffic — whether this station carries traffic announcements at all, and whether one is on the air right now.
    • Station clock, and also on — the other frequencies carrying the same programme, which is what a car radio follows when you drive out of range.

    RDS or RBDS — the selector at the top. They are the same signal; the difference is which table of programme types to read it against, and whether to spell the identity code out as call letters. Auto decides from the country code the station sends, which most stations outside North America do. Where one does not, auto still guesses the table from the identity code — that guess can be wrong, so set the selector by hand when the programme type reads like nonsense — but it will not name the station from it. The call-letter range overlaps identity codes that are perfectly ordinary elsewhere: a Finnish or Danish station's identity decodes to a plausible American call sign, and four invented letters sitting where the station's name goes look like fact in a way a wrong category does not. Select RBDS by hand to name a North American station that sends no country code.

    Nothing is re-decoded when you change it: the raw codes are already here, so everything on screen re-labels itself at once.

    DIAGNOSTICS, the second tab, is for when the first one is empty or flickering. It shows whether the decoder is in sync, how many groups have arrived, what fraction of blocks failed their check, and a running log of the groups themselves. The block error rate is the number to watch: it counts repaired blocks as errors on purpose, so it starts climbing before anything visibly breaks, and a station sitting at a few per cent is one that will drop out when a lorry goes past. A station sending no group 2A sends no radio text — the group list will tell you that, where the blank field cannot.

    FRONT END OVERLOADING — the station is too strong, the converter is clipping, and the distortion lands right across the multiplex including on the 57 kHz subcarrier the data rides. Nothing you can hear will tell you, and that is the point of the warning: the whole distance between clean RDS and none is about a decibel, and across all of it the audio stays clean and the stereo light stays on. Turn the RF gain down or switch in an attenuator. The S-meter shows OVL for the same reason (2.9).

    One thing is deliberately not shown: traffic message channel data is decoded by nobody here. The messages are numeric references into a licensed location database, and without it "event 108 at location 12345" is all there is to say.

  • DRM (DRM only) — how the Digital Radio Mondiale decoder is getting on. The button lights only when audio is actually being decoded, not merely when a carrier is present, so it answers "is this station coming through?" at a glance. Click it for the window, which is where to look when the answer is no: it shows how far up the chain the decode got. Full detail is in 2.19.

  • HD (HD Radio only) — how the HD Radio (NRSC-5) decoder is getting on. Like the DRM button it lights only when audio is actually being decoded, not merely when the OFDM frame is locked, so it answers "is this station coming through?" at a glance. Click it for the window, which is where to look when the answer is no: it shows how far up the chain the decode got and the error ratios of both digital sidebands. Full detail is in 2.20.

  • Tone (NFM only) — the CTCSS tone or DCS code under the signal. Analog FM systems carry a sub-audible tone below the voice so a receiver can ignore traffic that is not theirs, and the button shows what is arriving: 88.5 for a CTCSS tone, or DCS for a digital coded squelch stream. On an idle or toneless channel it just reads TONE.

    It takes about a second of signal to appear. That is not slowness for its own sake: the closest pair in the standard table is 67.0 and 69.3 Hz, and telling 2.3 Hz apart takes about a second however it is measured. Expect the tone roughly a second after a repeater keys up, and expect it to stay for about half a second after it drops.

    Clicking the button opens the tone squelch picker: choose a tone and the audio only opens when that tone is present, which is how you sit on a busy shared channel and hear one system. USE 88.5 arms whatever is being received right now, which is usually what you want; OFF goes back to plain carrier squelch. While a tone squelch is armed the button turns yellow, and it lights when the required tone actually arrives. Note that the ordinary SQL slider still applies — tone squelch is an extra condition on the same gate, not a replacement.

    DCS is reported as DCS without its three-digit code. The code travels in a cyclic error-correcting codeword, so every one of the 23 possible word boundaries decodes to a valid code and picking the wrong one yields a different, equally plausible answer; without a transmitter to check against, a code shown here would be a coin toss between two of them. That the signal is DCS, on the other hand, follows from the data repeating exactly every 23 bits, which needs no such assumption. Arming tone squelch on ANY DCS opens on any DCS-coded signal.

    The sub-audible tones no longer reach the speaker: NFM audio is high-passed at around 250 Hz, as it is in any FM receiver, so what used to arrive as a low rumble under the voice is now decoded instead of heard.

    Two things turn stereo off on purpose: switching on the sub receiver, which claims the right ear for itself, and switching on NR or ANC, which delay the audio in a way the stereo matrix cannot survive. Neither buys anything on a broadcast signal.

The receive filter is set by dragging the passband edges directly on the panadapter: two vertical grip lines mark the filter's low and high edges (they brighten to orange when you can grab them). Drag an edge to widen or narrow the passband. The grips work on both the spectrum and the waterfall.

For an exact figure, use the BW chip in the receive box instead — it reads the current width and opens three things: this mode's presets (2.4k, 2.7k, 500, …), a width field in hertz, and the two edges, each of them typeable. A drag can only creep up on 2700 Hz; the field is where it is said. Changing the width keeps the passband where it is rather than moving the signal inside it: a channel about the carrier grows either side of it, CW and RTTY grow about the tone they are centred on, and on a sideband the cut nearest the carrier stays put while the far edge moves — which is what a transceiver's own bandwidth control does. The presets are taken as written except in CW, where they are re-centred on your own sidetone pitch, so a 250 Hz filter is 250 Hz about the note you copy at rather than about somebody else's 700.

In AM, SAM, DSB, ISB and the FM modes the two edges move together: the passband is a channel carved out about the carrier, both halves carry the same signal, and narrowing one alone would throw away half the audio while letting the interference on the other side straight through. So whichever grip you take sets the half width and the other edge mirrors it — which is also why every filter preset these modes offer is symmetric. In SSB, CW and the data modes the passband sits to one side of the carrier by definition and each edge stays yours to place on its own.

Hold Ctrl (Cmd on a Mac) while you drag and the mirroring is suspended for that drag: the grip you have hold of moves and the other stays where it is, even in the modes that normally pair them. That is the answer to a station splattering on one side of an AM carrier — close the passband on that side and leave the other open, trading half the audio for none of the interference. The figure beside the grip tells you which rule is in force: ±3000 Hz while the edges are paired, -3000 Hz while the one you are holding moves alone.

ISB is the odd one in that list. Its two edges move together like AM's, but what they set is the width of each sideband rather than of one shared channel — the preset marked 2.7k gives you 2.7 kHz on each side, so 5.4 kHz of spectrum. The two sidebands are separate transmissions and are demodulated separately: the lower goes to your left ear and the upper to your right, the way they sit on the waterfall, and the ST indicator lights to say the two ears really are carrying different things. A residual carrier on the dial is notched out rather than let through as a hum in both. Noise reduction and the auto-notch turn ISB back into mono for as long as they are on, for the same reason they do to WFM stereo: they run on one channel of the pair and the delay would collapse the other into a comb filter. ISB is receive only — transmitting it needs two modulators feeding one linear amplifier, which is a station rather than a setting.

The volume, AGC mode and manual gain, the squelch, the noise reduction and the decimation are remembered in session.json and restored the next time you start, along with the front end's own gain stages (§6.2.1). They are settings you arrive at by ear against your own antenna and noise floor, so sdroxide brings the receiver back up where you left it rather than on defaults.

The RIG box: the radio's own aerial and power switches

A transceiver with an aerial selector, a separate receiving antenna, or a power switch sdroxide can reach over the control link, gets a RIG box of its own on the control bar — next to the receive controls on a desktop layout, and behind a RIG button in the menu strip on a narrow window. Like DIV and SUB, it appears only for hardware that has what it drives; a radio with one socket, no receive aerial and no remote power never sees it.

  • ANT — the socket the radio is receiving on, as a button you click to step to the next one: ANT1 → ANT2 → ANT1 on an Icom, and round the ports of an RSPdx or a LimeSDR in the same way. It is the radio's own setting, the same one as the ANT button on its front panel, and it is remembered per band like every other antenna choice in sdroxide — so this is the control for changing your mind, and the band memory is what saves you from having to. It appears only where there is a choice of sockets: an IC-7300MK2 has one, and shows RX ANT alone.

  • RX ANT — the radio's separate receiving antenna, switched into the receive path or out of it, lit while it is in. Not a choice of socket: it is an extra input — a loop, a beverage, a preamplifier — and the aerial on the main socket stays on transmit throughout. An IC-7300MK2's RX ANT IN/OUT, an IC-7610's RX ANT.

    Unlike the socket above, sdroxide does not remember this one. The radio holds it per band itself, so sdroxide asks the radio again after every band change and shows what it answers; clicking the chip is the only thing that moves it. The one thing that will not reach the chip is the RX ANT button on the radio's own front panel pressed without changing band — it catches up at the next band change.

  • PWR — ON and OFF switch the radio itself, over the control link. This is the one true on/off in sdroxide; the LINK switch in the tab strip is sdroxide's own end of the connection and leaves the radio running (2.17). Two buttons rather than a switch, because a radio that is off answers nothing and there is no position to read back.

These are the same controls that live under Settings → Radio (§6.2.2), where the longer explanation of what each one needs from the radio is; they are here so that changing bands and reaching for the other aerial do not mean opening a dialog.

Per-mode settings (the reset chip)

The settings in this box are a matter of taste, but not the same taste in every mode: a little noise reduction helps a weak SSB voice and only gets in the way of an FT8 decoder, and a slow AGC is kinder to a signal sitting in the noise than the fast one that sounds right on a strong local. So each mode carries a set of starting values for AGC, Man, SQL, NR, ANC, BIN and WFM's ST, and selecting a mode — here, or on a CAT rig's own controls — lays its own on the receiver.

The built-in defaults are deliberately plain. A slow AGC on the weak-signal digital modes, whose whole point is signals near the noise, and the stock medium everywhere else. Noise reduction off in every mode: it is the setting most dependent on your taste, it carries a make-up gain and can add artefacts, and changing mode should not change how loud the radio is — set it in the modes where you want it and it is remembered there. The squelch open and the notch off everywhere, the notch because it cancels constant tones and in CW, RTTY and the other FSK modes the signal is one. Nothing is re-applied to a mode you are already in, so a rig reporting its own mode back never disturbs a setting you have just made.

Change any of them and the change is remembered for the mode you were in, not globally: turn the noise reduction up on 20 m SSB and FT8 still comes up with it off. Put a setting back to the mode's default and it stops being an override on its own. On the first start after upgrading to a version with per-mode settings, what you had set becomes the values for the mode you were in, and every other mode starts from its own defaults. When anything in the current mode has been changed, a chip with a circular arrow appears at the end of the filter/noise row: hovering it names what differs, and clicking it puts the mode's own values back and forgets what you had set. Its place in the row is kept while it is hidden, so the box does not change width — and the strip does not rearrange itself — as it comes and goes. A station's per-mode values live in modeprofiles.json beside its other per-radio files and travel with Settings → Import/Export; Settings → General → Per-mode settings has a RESET EVERY MODE button that clears them all at once.


From the User Manual. Home.

Clone this wiki locally