Repository navigation
Releases: elisir80/decodium-sdr
Release list
Decodium SDR 1.2.6 «Baird»
DECODIUM SDR 1.2.6 «Baird»
Release 1.2.6 aggiorna il codebase con il fix del profilo CAT RTL-SDR: la
porta seriale selezionata viene ora dichiarata automaticamente al backend,
senza richiedere il click su «SALVA PROFILO CAT». Il modello della tendina
conserva il nome reale della porta e impedisce che un refresh riutilizzi una
porta precedente.
La release include gli installer macOS Intel e Apple Silicon, le AppImage
Linux x86_64 e ARM64 e il pacchetto Windows x64 prodotti dalla pipeline di
release.
Decodium SDR 1.2.5 “Armstrong”
Disponibilità di questa pubblicazione
Nota — 17 agosto 2026. Questa pubblicazione include Windows x64, Linux x86-64, Linux ARM64 e macOS Apple Silicon. Il job macOS Intel è stato annullato su richiesta del manutentore e il relativo DMG non è incluso; verrà pubblicato separatamente dopo una pipeline verde.
Availability of this publication
Note — 17 August 2026. This publication includes Windows x64, Linux x86-64, Linux ARM64 and macOS Apple Silicon. The macOS Intel job was cancelled at the maintainer’s request and its DMG is not included; it will be published separately after a green pipeline.\n\n# DECODIUM SDR 1.2.5 «Armstrong»
Italiano
DECODIUM SDR 1.2.5 chiude tre aree rimaste aperte nella 1.2.4: il
panadapter IF collegato alla radio via CAT, l'interoperabilità IQ/audio in
rete con SDR++, e una gestione operativa vera di attività pianificate e moduli
IQ. È inoltre la prima release con pacchetti nativi per Windows x64, macOS
Apple Silicon e Intel, Linux x86-64 e Linux ARM64.
Panadapter IF, RTL-SDR e CAT universale
- Aggiunto il backend RTL-SDR + CAT (panadapter IF): l'uscita IF della
radio viene acquisita dall'RTL-SDR, mentre il VFO radio resta il riferimento
autorevole della sintonia. - La frequenza hardware viene calcolata come IF + shift USB/LSB senza il
normale offset anti-DC quando si usa un'IF fissa. Questo allinea portante,
spettro e VFO come il panadapter di SDR++ e evita una seconda traslazione nel
DSP. - La sincronizzazione CAT è bidirezionale per frequenza e modo, con protezione
dal loop: cambiare il VFO nell'app aggiorna la radio e il polling della radio
aggiorna l'app senza rincorrersi. - La protezione TX ora è fail closed: un polling PTT dedicato e preciso
sospende immediatamente il flusso IQ dell'RTL-SDR se la radio trasmette, se
lo stato PTT non è verificabile o se il CAT viene perso. La ricezione riparte
solo dopo uno stato RX valido. - Il pannello RTL-SDR salva e ripristina direct sampling Q ADC, IF, banda
laterale, shift USB/LSB, inversione dello spettro, gain, PPM, bias-tee e
offset tuning. Il pannello non invia più comandi PPM/offset non necessari
che alcuni RTL-SDR Blog V4 rifiutano senza che vi sia un errore reale. - Il direct sampling mostra chiaramente quando il tuner viene bypassato e
disabilita i controlli AGC/gain che non hanno effetto sul Q ADC.
Hamlib e profili CAT locali
- Aggiunto il driver Hamlib locale: Decodium SDR avvia
rigctldper la
porta USB/seriale selezionata e usa poi il normale protocollo rigctl. Il
catalogo dei modelli arriva dall'installazione Hamlib, invece di mantenere
una piccola lista interna; ciò rende disponibili le radio supportate da
Hamlib, compreso il Kenwood TS-940S. - Il dialogo CAT espone e conserva modello Hamlib, baud rate, bit dati,
parità, bit di stop, handshake e stato DTR/RTS. I valori proposti possono
essere letti dai default dichiarati da Hamlib per il modello scelto. - I profili della radio dichiarata e del panadapter CAT vengono salvati in modo
persistente. La ricerca seriale e il cambio sorgente non bloccano più la UI
in attesa di un timeout CAT; i risultati di una ricerca ormai annullata non
possono comparire nella ricerca successiva.
Compatibilità di rete con SDR++ e IQ generico
- Il backend di rete ora supporta, oltre a
rtl_tcpe SpyServer, endpoint IQ
dichiarati TCP, UDP e SDR++ Server. I formati supportati sono
int8,int16,int32efloat32per IQ grezzo eint8,int16,
float32per SDR++ Server. - Il client SDR++ Server negozia esplicitamente rate, tipo di campione,
frequenza e avvio dello stream. Rifiuta i frame compressi invece di trattarli
erroneamente come campioni IQ. - Aggiunto il pannello Audio di rete: invia il mix RX lineare come PCM16
little-endian a 48 kHz via UDP oppure come server TCP, in mono o stereo,
compatibile con il Network Sink di SDR++. Il suo ring dedicato impedisce che
un client lento blocchi il DSP o l'audio locale.
Scheduler e gestore dei moduli IQ
- Nuova finestra Strumenti → Scheduler e moduli IQ.
- Lo scheduler persistente UTC può pianificare sintonia, scansione,
avvio/arresto della registrazione IQ e avvio/arresto della registrazione
audio. Non contiene PTT, TX, sintonia TX o riconnessione automatica. - Le attività mantengono stato, parametri, risultato e log; al riavvio quelle
scadute non vengono eseguite in ritardo. Un'azione che altererebbe la
ricezione durante TX o con sorgente disconnessa viene segnata come fallita. - Il catalogo dei moduli IQ ora è persistente e non esegue librerie durante la
discovery. È possibile aggiungere cartelle/file, aggiornare il catalogo,
abilitare/disabilitare una libreria, scaricarla realmente dal DSP e leggere
il motivo degli errori ABI o di caricamento. Solo i moduli già abilitati
vengono ricaricati al successivo avvio.
Pacchetti distribuiti e affidabilità dei driver
- I pacchetti includono un baseline verificato di moduli SoapySDR RTL-SDR
e HackRF con le relative dipendenze runtime. L'app cerca prima i moduli
inclusi, quindi non richiede Homebrew, MSYS2 o un'installazione Soapy di
sviluppo per questi ricevitori. - Il bundle macOS raccoglie ricorsivamente i moduli Soapy e le dipendenze,
riscrive i link Mach-O e includerigctld/Hamlib. Windows include il runtime
ufficiale Hamlib 4.7.2, bloccato con SHA-256; Linux e Windows usano il
medesimo manifest CMake e controlli di completezza del pacchetto. - La CI produce artefatti nativi per Windows x64, macOS arm64,
macOS x86-64, Linux x86-64 e Linux ARM64. L'AppImage ARM64 non
includecolibrinano_lib, perché il produttore non fornisce una libreria
Linux ARM64 compatibile; gli altri backend restano disponibili.
Interfaccia, strumenti e verifiche
- Migliorati pannelli di sorgente, RTL-SDR, S-meter/Decometer e frequenza:
le impostazioni operative e la calibrazione del meter vengono conservate,
il comando di reset ripristina la calibrazione, e le capability hardware
guidano i controlli mostrati. - Estesa la diagnostica di backend, CAT, sicurezza TX, rete, DSP e pacchetti
per rendere distinguibili un'impostazione non supportata, una radio non
raggiungibile e un reale errore di ricezione. - Il DSP ora aspetta il primo canale prima di svuotare una nuova sorgente e
la sessione ne conferma la creazione nel thread DSP; inoltre accorpa le
notifiche IQ/audio prima della propria coda e suddivide una raffica in
brevi turni dell'event loop. La creazione di un canale, i cambi filtro e i
moduli IQ non possono più perdere i primi frame o restare bloccati dietro
un flusso continuo su macchine ARM più lente. - Corretto il pannello Condizioni: le sue curve convertono esplicitamente i
punti in un array QML, eliminando il warningPathPolyline: path of type 0 not supportedall'avvio. - Il selettore sorgente non interroga più comandi manuali opzionali sui
backend che non li dichiarano: l'avvio non produce quindi warning fuorvianti
per una capability semplicemente non disponibile. - L'autoscala del panadattatore ora misura la sola banda laterale attiva per
le radio CAT con audio a 48 kHz (USB a destra, LSB a sinistra, entrambe per
AM/FM): il silenzio sul lato opposto non trascina più il fondo verso il
basso né incendia il waterfall. I panadapter IF con IQ reale restano a
doppia banda invariati. - Per la sola vista CAT+audio, la banda laterale SSB viene anche riflessa
solo graficamente attorno al VFO: l'immagine resta centrata come un
panadapter IQ, mentre DSP, CAT, registrazione e sintonia restano sul flusso
reale. Un clic sulla copia riflessa viene ricondotto alla frequenza vera. - Aggiunti test per protocollo SDR++ Server, IQ raw TCP/UDP, audio UDP,
configurazione seriale Hamlib, sicurezza TX RTL+CAT, piano di sintonia
RTL-SDR, catalogo moduli, scheduler, sessione e pannelli QML. La suite della
release esegue 49 test CTest.
Artefatti della release
- Codice sorgente: gli archivi Source code (zip) e Source code (tar.gz)
sono generati da GitHub dal tag1.2.5. - Windows x64: installatore NSIS, installatore Inno Setup e ZIP portable.
- macOS: DMG separati per Apple Silicon e Intel.
- Linux: AppImage separati per x86-64 e ARM64.
I DMG sono firmati ad-hoc per la coerenza interna del bundle ma non sono
firmati con Developer ID né notarizzati. Gatekeeper può quindi chiedere una
conferma esplicita al primo avvio.
English (United Kingdom)
DECODIUM SDR 1.2.5 closes three areas left open in 1.2.4: CAT-linked IF
panadapter operation, SDR++-compatible IQ/audio networking, and proper
operational management of scheduled work and IQ modules. It is also the first
release with native packages for Windows x64, macOS Apple Silicon and Intel,
Linux x86-64, and Linux ARM64.
IF panadapter, RTL-SDR and universal CAT
- Added the RTL-SDR + CAT (IF panadapter) backend: the radio's fixed IF
output is captured by the RTL-SDR while the radio VFO remains the
authoritative tuning reference. - The hardware frequency is calculated as IF + USB/LSB shift, without the
usual DC-avoidance offset when using a fixed IF. Carrier, spectrum and VFO
therefore align with SDR++ panadapter operation and no second shift is
applied in the DSP. - CAT frequency and mode synchronisation is bidirectional and loop-safe:
changing the application VFO updates the radio, while radio polling updates
the application without the two sides chasing one another. - TX protection is now fail closed: a dedicated precise PTT poll immediately
suspends RTL-SDR IQ input when the radio is transmitting, when PTT state
cannot be proven, or when CAT is lost. Reception resumes only after a valid
RX state is observed. - The RTL-SDR panel persists direct sampling Q ADC, IF, sideband, USB/LSB
shifts, spectrum inversion, gain, PPM, bias tee and offset tuning. It n...
DECODIUM SDR 1.2.4 «Fessenden»
DECODIUM SDR 1.2.4 «Fessenden»
Questa release rende la sorgente Radio tradizionale (audio + CAT)
riutilizzabile tra gli avvii e corregge il centro della vista quando la
frequenza arriva dalla radio.
CAT e porta seriale
- Salva e ripristina il profilo CAT: driver, porta, velocità, bit dati,
parità, bit stop, handshake, DTR e RTS. - Il profilo salvato ricompare nell'elenco al riavvio ma non apre la seriale
finché non viene scelto Connetti. - La configurazione UART completa viene inoltrata a CI-V, Yaesu/NewCAT e
rigctld quando pertinente. - Le porte USB mostrano produttore e numero seriale, così l'adattatore della
radio resta distinguibile dagli altri convertitori collegati.
Panadapter e qualità
- Un aggiornamento CAT del VFO ricentra la vista a 7 kHz della radio audio;
panadapter e waterfall non restano sulla precedente porzione di spettro. - Nuovi test HAL e QML per la configurazione seriale, la persistenza del
profilo e il centraggio della vista.
Verifica
Compilazione macOS completata e suite CTest superata: 41/41.
Questa è una release del solo codice sorgente: non contiene asset binari.
DECODIUM SDR 1.2.1 «Braun»
Release 1.2.1 «Braun»
- Native RTL-SDR backend, including RTL-SDR Blog V4 support.
- Wide FM, stereo path and RDS panel with detailed diagnostics.
- Corrected S-meter and Decometer measurements in Wide FM.
- More robust automatic RTL-SDR gain handling and macOS font selection.
This release intentionally contains source code only. GitHub provides the source ZIP and tar.gz archives generated from tag 1.2.1; no executable assets are attached.
Decodium SDR v1.0.0
Decodium SDR v1.0.0
Decodium SDR è un ricevitore SDR multi-piattaforma scritto in C++17 e Qt/QML,
con una HAL a backend, DSP client-side, waterfall GPU e supporto per sorgenti
SDR locali, remote e da file.
Questa release pubblica il codebase completo del progetto nella versione
v1.0.0.
Funzionalità principali
Modi di ricezione
- USB e LSB per SSB;
- DSB a portante soppressa;
- CW e CW-R con BFO e filtro centrato sul pitch;
- AM con blocco DC e carrier-AGC opzionale;
- SAM con PLL di portante;
- Wide FM broadcast con discriminatore, stereo MPX L/R, low-pass e de-enfasi;
- NFM con deviazione da 2,5 kHz, low-pass e de-enfasi;
- DIGU e DIGL;
- IQ/RAW monitor stereo, con I e Q instradati sui due canali audio.
Ogni canale dispone di filtro, AGC, AGC-T, attacco/decadimento AGC, volume,
mute e meter indipendenti. La UI genera i controlli dalle capability dichiarate
dal backend, senza codificare il modello della radio nei componenti generici.
Catena DSP e audio
- DDC/NCO per la sintonia dei canali dentro il flusso IQ;
- decimazione multistadio e filtri FIR complessi;
- AGC con modalità Off/Fast/Medium/Slow/Long;
- ricampionamento verso audio interno a 48 kHz;
- uscita stereo con fallback automatico a mono quando richiesto dal dispositivo;
- audio high-pass FIR configurabile;
- power squelch con isteresi;
- noise blanker impulsivo per i modi compatibili;
- riduzione del rumore IF FM con preset Voice, Narrow band e Broadcast;
- meter separati per RF, fondo rumore, SNR e audio post-volume;
- pre-roll del ring audio per evitare underrun durante l’avvio del dispositivo.
Wide FM, RDS e NFM
Wide FM include una catena broadcast completa:
- stereo L/R dal multiplex FM;
- low-pass selezionabile;
- de-enfasi 0, 22, 50 e 75 µs;
- decodifica RDS con sincronismo e CRC-10;
- PI, PS, RadioText, PTY Europa/RBDS;
- country code, program coverage, reference number e callsign;
- frequenze alternative AF, follow manuale e probing automatico.
NFM include inoltre CTCSS con due comportamenti distinti:
Mute: il tono apre il canale;Decode: il tono viene rilevato senza silenziare l’audio.
Backend e device
soapy: RTL-SDR V4, Airspy, HackRF, LimeSDR, PlutoSDR, USRP e altri
device con driver SoapySDR;nettcp: rtl_tcp e SpyServer con riconoscimento automatico;colibri: ColibriNANO USB;iqfile: riproduzione di registrazioni IQ;demo: banda sintetica per sviluppo e test headless.
Su macOS il progetto include il supporto al bundle di SoapyRTLSDR,
librtlsdr e libusb, così una distribuzione DMG può usare una RTL-SDR V4
senza richiedere Homebrew all’utente finale.
I device Soapy con canali TX fisici vengono rilevati, ma il percorso TX completo
non è ancora implementato: fino a quel momento Decodium espone volutamente
capability RX-only e non simula una portante o un PTT.
Registrazione e integrazioni
- registrazione IQ WAV float32 con sidecar JSON;
- supporto RF64 per registrazioni oltre 4 GB;
- registrazione audio stereo del mix;
- scanner di banda con dwell, soglia S-meter e risultati richiamabili;
- band-stack persistente e memorie di frequenza;
- server Hamlib/rigctl locale su
127.0.0.1:4532; - rigctl per frequenza, modo, passband, volume AF e PTT capability-aware;
- API C ABI per moduli IQ esterni caricabili a runtime;
- catalogo UI dei moduli IQ caricati e stato di caricamento;
- log verbosi nel solo terminale con
--verbose; - pipeline di traduzione e interfaccia multi-lingua.
Comandi rigctl supportati in questa release: f, F, m, M, t, T,
l AF e L AF. Una sorgente RX-only rifiuta T 1 con RPRT -4.
Avvio su macOS
Dal checkout compilato:
./build/bin/decodium-sdr.app/Contents/MacOS/decodium-sdr \
--backend soapy --auto-connect --verboseIl log permette di verificare discovery, profilo RTL-SDR, formato CF32, rate IQ,
decimazione, sintonia, RF/fondo rumore/SNR, audio, RDS, scarti IQ e underrun.
Build da sorgente
Dipendenze principali: Qt 6, CMake 3.24 o superiore, Ninja, compilatore C++17
e FFTW3 single-precision.
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build
ctest --test-dir build --output-on-failureVerifica della release
- versione CMake/app:
1.0.0; - build macOS completata con Qt 6.11;
- suite completa: 12/12 test superati;
- smoke test su RTL-SDR Blog V4/R828D reale;
- stream IQ CF32 a 2,048 MS/s rilevato e mantenuto;
- audio macOS a circa 48 kHz;
- scarti IQ:
0; - audio underrun dopo il priming:
0.
La verifica hardware conferma l’apertura e la stabilità della catena radio/audio;
la presenza di una specifica emittente FM dipende invece da antenna, area,
frequenza sintonizzata e livello del segnale reale.
Gap residui dichiarati
Restano da sviluppare i backend dedicati HPSDR, DLINK, FlexRadio, TCI e KiwiSDR,
oltre al percorso TX reale per i device Soapy che lo supportano fisicamente.
Questi elementi non vengono presentati come implementati in v1.0.0.
Licenza
GPL-3.0-or-later. Consultare LICENSE e
THIRD_PARTY_LICENSES.